Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search request not returning JSON #61

Closed
mosesmc52 opened this issue Jul 5, 2015 · 17 comments
Closed

Search request not returning JSON #61

mosesmc52 opened this issue Jul 5, 2015 · 17 comments

Comments

@mosesmc52
Copy link

Hi I'm executing I'm new to using okcupyd. I just executed this script below, but I'm receiving the following response
No handlers could be found for logger "okcupyd.search"

Would you know how I could programmatically configure the logger? Also would you have any insight into the issue.

Thanks,

Moses

import okcupyd

session = okcupyd.Session.login('xxxx','yyy')
u = okcupyd.User(session)

profiles = u.search(age_min=26, age_max=32)
for profile in profiles[:10]:
    profile.message("Pumpkins are just okay.")
@colonelpanic8
Copy link
Owner

This is just a warning message (see https://docs.python.org/3.1/library/logging.html). Are you getting a traceback? I suspect that your code is executing.

@mosesmc52
Copy link
Author

Yes ,

Here is my traceback:

/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
No handlers could be found for logger "okcupyd.search"
Traceback (most recent call last):
  File "okc.py", line 8, in <module>
    for profile in profiles[:10]:
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 192, in __getitem__
    return self._handle_slice(item)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 218, in _handle_slice
    value = next(iterator)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 164, in _make_nice_repr_iterator
    for item in original_iterable:
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 282, in fetch
    text_response = self._fetcher.fetch(start_at=pos)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/search.py", line 281, in fetch
    search_html = response.json()['html']
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/models.py", line 802, in json
    return json.loads(self.text, **kwargs)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/__init__.py", line 505, in loads
    return _default_decoder.decode(s)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.scanner.JSONDecodeError: Expecting value: line 3 column 1 (char 3)

@colonelpanic8 colonelpanic8 changed the title No handlers could be found for logger "okcupyd.search" Search request not returning JSON Jul 5, 2015
@colonelpanic8
Copy link
Owner

This has nothing to do with logger warning that you are getting. It seems that the search request is not returning json. It may be that okcupid changed the search uri/request format. Let me take a look.

@colonelpanic8
Copy link
Owner

Just tried things out and they are working for me.

Can you run this using the okcupyd command with the --enable-logger='okcupyd.search' flag set? and paste the output?

@colonelpanic8
Copy link
Owner

You can also just add

from okcupyd.util import enable_logger
enable_logger('okcupyd.search')

to the beggining of your script.

@mosesmc52
Copy link
Author

I enabled the logger and reran the script. It's really hard to capture the entire message because the html output. Here is the first lines, the rest is html folowed by the json error.

/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
2015-07-05 16:43:44 qed okcupyd.search[66194] INFO {"search_parameters": {"fromWhoOnline": "0", "locid": "4356642", "sort_type": "0", "filter1": "2,26,32", "filter3": "0,34", "filter2": "3,25", "ajax_load": 1, "count": 9, "discard_prefs": 1, "timekey": 1, "custom_search": "0", "update_prefs": "1", "low": 1, "matchOrderBy": "MATCH", "mygender": "M", "sa": "1", "match_card_class": "just_appended"}}
2015-07-05 16:43:44 qed okcupyd.search[66194] WARNING {"failure": "\r\n\n <script>\n\t\tvar page_load_start = new Date().getTime();\n\t</script> <link rel="dns-prefetch" href="//includes.okccdn.com" /> <link rel="dns-prefetch" href="//cdn.okccdn.com" /> <link rel="preconnect" href="//includes.okccdn.com"> <link rel="preconnect" href="//cdn.okccdn.com"> <meta charset="UTF-8" /> <title>Matches | OkCupid</title> <link rel="shortcut icon" href="http://cdn.okccdn.com/media/img/template/favicon.ico\" /> <meta name="canonical" content="http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\" /> <meta name="description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_57x57.png\" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_72x72.png\" sizes="72x72" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_114x114.png\" sizes="114x114" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_144x144.png\" sizes="144x144" /> <meta property="fb:app_id" content="153408784666" /> <meta property="og:url" content="http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\"/> <meta property="og:image" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\"/> <meta property="og:site_name" content="OkCupid | Free Online Dating"/> <meta property="og:title" content="Matches | OkCupid"/> <meta property="og:description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!"/> <meta property="og:type" content="website"/> <meta name="twitter:card" content="summary" /> <meta name="twitter:domain" content="okcupid.com" /> <meta name="twitter:site" content="@OkCupid" /> <meta name="twitter:creator" content="OkCupid" /> <meta name="twitter:title" content="Matches | OkCupid" /> <meta name="twitter:description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <meta name="twitter:image:src" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta itemprop="name" content="Matches | OkCupid" /> <meta itemprop="description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <meta itemprop="image" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta name="pinterest" content="nopin" /> <script>\r\n\tvar CURRENTUSERID = "13568020090150630457";\r\n\tvar IMAGEPATH = "http://cdn.okccdn.com/\"\r\n\tvar SCREENNAME = "marsarasaurus";\r\n\tvar API_PREFIX = "/apitun";\r\n\tvar SECURE_PREFIX = "https://www.okcupid.com\";\r\n\tvar INSECURE_PREFIX = "http://www.okcupid.com\";\r\n\tvar USER_LON = parseFloat("-77.0318");\r\n\tvar USER_LAT = parseFloat("38.90422");\r\n\tvar ISALIST = false;\r\n\tvar IS_STAFF = 0;\r\n\tvar METRO_AREA = "0";\r\n\tMETRO_AREA = "8840";\r\n\tvar HAS_ADFREE = 0;\r\n\tvar ACCESS_TOKEN = "1,0,1436209267,0xbc4b4a62b2cab439;94faa94d871078b019e2085c06f69f437b9d364b";\r\n\tvar SERVER_TIME = 1436129023;\r\n\tvar ENV = 'prod';\r\n\tvar PORT = '';\r\n\tvar SERVICE = 'match';\r\n\tvar PROFILE_TAB = '';\r\n\tvar PLATFORM = 'DESKTOP';\r\n\tvar USER_GROUP = 0; \r\n\tif (typeof console == 'undefined' || typeof console.log == 'undefined') console = { 'log':function(){} };\r\n\t CurrentGMT = new Date(1436129023*1000); \r\n\tvar SESSION = {"num_drafts" : 0, "num_essay_chars" : 0, "join_date" : 1428118384, "acct_expire" : 0, "num_pics" : 0, "num_contacts" : 0, "acct_level" : 0, "gender" : 1, "num_good_votes" : 0, "locid" : 4357892, "mail_unread" : 1, "userid" : "13568020090150630457", "user_thumbnail" : "", "orientation" : 1, "browsing_anonymously" : 0, "longitude" : "18446744073701848436", "num_votes" : 1, "alist" : false, "browsing_semi_anonymous

Also I looked at the I return object of the search method, here it is:

<Fetchable[FetchMarshall(SearchHTMLFetcher({'gentation': 'girls who like guys', 'radius': 25, 'age_min': 26, 'age_max': 32}), <SimpleProcessor(<function at 0x10bfe5f50>, XPathBuilder(".//div[ contains(concat(' ',normalize-space(@Class),' '),' match_card ') ]"))>)][]>

@colonelpanic8
Copy link
Owner

hmmm. I need to see the contents of that failure object. Are you on osx? Can you just pipe the output to pbcopy or gist?

@colonelpanic8
Copy link
Owner

The warning you are getting is concerning as well. are you able to do anything else? Maybe logging in is failing silently in some strange way?

@mosesmc52
Copy link
Author

Here is the entire output

Since I created a dummy test account, I used this username password.

u:marsarasaurus
p:okcupid123

For you to repeat the problem

2015-07-06 00:36:27 qed okcupyd.search[67676] INFO {"search_parameters": {"fromWhoOnline": "0", "locid": "4356642", "sort_type": "0", "filter1": "2,26,32", "filter3": "0,34", "filter2": "3,25", "ajax_load": 1, "count": 9, "discard_prefs": 1, "timekey": 1, "custom_search": "0", "update_prefs": "1", "low": 1, "matchOrderBy": "MATCH", "mygender": "M", "sa": "1", "match_card_class": "just_appended"}}
2015-07-06 00:36:27 qed okcupyd.search[67676] WARNING {"failure": "\r\n\n <script>\n\t\tvar page_load_start = new Date().getTime();\n\t</script> <link rel="dns-prefetch" href="//includes.okccdn.com" /> <link rel="dns-prefetch" href="//cdn.okccdn.com" /> <link rel="preconnect" href="//includes.okccdn.com"> <link rel="preconnect" href="//cdn.okccdn.com"> <meta charset="UTF-8" /> <title>Matches | OkCupid</title> <link rel="shortcut icon" href="http://cdn.okccdn.com/media/img/template/favicon.ico\" /> <meta name="canonical" content="http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\" /> <meta name="description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_57x57.png\" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_72x72.png\" sizes="72x72" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_114x114.png\" sizes="114x114" /> <link rel="apple-touch-icon-precomposed" href="http://cdn.okccdn.com/media/img/template/icon/icon_144x144.png\" sizes="144x144" /> <meta property="fb:app_id" content="153408784666" /> <meta property="og:url" content="http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\"/> <meta property="og:image" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\"/> <meta property="og:site_name" content="OkCupid | Free Online Dating"/> <meta property="og:title" content="Matches | OkCupid"/> <meta property="og:description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!"/> <meta property="og:type" content="website"/> <meta name="twitter:card" content="summary" /> <meta name="twitter:domain" content="okcupid.com" /> <meta name="twitter:site" content="@OkCupid" /> <meta name="twitter:creator" content="OkCupid" /> <meta name="twitter:title" content="Matches | OkCupid" /> <meta name="twitter:description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <meta name="twitter:image:src" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta itemprop="name" content="Matches | OkCupid" /> <meta itemprop="description" content="OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!" /> <meta itemprop="image" content="http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta name="pinterest" content="nopin" /> <script>\r\n\tvar CURRENTUSERID = "13568020090150630457";\r\n\tvar IMAGEPATH = "http://cdn.okccdn.com/\"\r\n\tvar SCREENNAME = "marsarasaurus";\r\n\tvar API_PREFIX = "/apitun";\r\n\tvar SECURE_PREFIX = "https://www.okcupid.com\";\r\n\tvar INSECURE_PREFIX = "http://www.okcupid.com\";\r\n\tvar USER_LON = parseFloat("-77.0318");\r\n\tvar USER_LAT = parseFloat("38.90422");\r\n\tvar ISALIST = false;\r\n\tvar IS_STAFF = 0;\r\n\tvar METRO_AREA = "0";\r\n\tMETRO_AREA = "8840";\r\n\tvar HAS_ADFREE = 0;\r\n\tvar ACCESS_TOKEN = "1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd";\r\n\tvar SERVER_TIME = 1436157386;\r\n\tvar ENV = 'prod';\r\n\tvar PORT = '';\r\n\tvar SERVICE = 'match';\r\n\tvar PROFILE_TAB = '';\r\n\tvar PLATFORM = 'DESKTOP';\r\n\tvar USER_GROUP = 0; \r\n\tif (typeof console == 'undefined' || typeof console.log == 'undefined') console = { 'log':function(){} };\r\n\t CurrentGMT = new Date(1436157386_1000); \r\n\tvar SESSION = {"num_drafts" : 0, "num_essay_chars" : 0, "join_date" : 1428118384, "acct_expire" : 0, "num_pics" : 0, "num_contacts" : 0, "acct_level" : 0, "gender" : 1, "num_good_votes" : 0, "locid" : 4357892, "mail_unread" : 1, "userid" : "13568020090150630457", "user_thumbnail" : "", "orientation" : 1, "browsing_anonymously" : 0, "longitude" : "18446744073701848436", "num_votes" : 1, "alist" : false, "browsing_semi_anonymously" : 0, "username" : "marsarasaurus", "num_qans" : 5, "last_online" : 1436157385, "metro_area" : 8840, "num_quivers" : 0, "latitude" : 3890422};\r\n\tvar user_demo = {"education" : 0, "children" : 0, "location_state" : "DC", "fluency_0" : 0, "religion_serious" : 0, "location_city" : "Washington", "job" : 0, "location_postal" : "20005", "income" : 0, "rel_display_status_code" : 1, "gender" : 1, "cats" : 0, "lang_0" : 74, "birthdate" : 257472000, "smoking" : 0, "ethnicity" : 0, "drugs" : 0, "accnt_age" : 93, "email" : "common3@mailinator.com", "age" : 37, "education_status" : 0, "dogs" : 0, "location_country" : "US", "religion" : 0, "alcohol" : 0, "metro_area" : 8840};\r\n\tvar AUTHCODE = "1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd";\r\n\t// Have components set this to their height if they're fixed to the top.\r\n\tvar FIXED_ELEMENT_HEIGHT = 0;\r\n\tvar PROFILE_PANEL_STATE = "";\r\n\tvar REMOVE_STOPLIGHT_EXP_TESTER = true;\r\n\tvar DAISY_URL = "http://ads.okcimg.com/daisy\";\r\n\tvar DAISY_PAGE = "Match";\r\n\tvar HAS_REACT_MATCH_FILTERS = true;\r\n\tvar HAS_GLOBAL_MESSAGING_THREADS = false;\r\n\tvar HAS_REACT_MATCH_FILTERS_CONTROL = false;\r\n\tvar PRIDE = false;\r\n\r\n\t\r\n\t\t\tvar BOOSTSUBS_GROUP = "cheap_promoonly";\r\n\t\t\r\n\t\t\tvar OKPAY_GROUP = "tester";\r\n\t\t\r\n\t\t\tvar AGEBLOCK_GROUP = "control";\r\n\t\t\r\n\t\r\n\r\n\t// \r\n\t\r\n\t\nvar DeferredJS={list:[],checker:null,init:function(_this){this.context=_this;},addBundles:function(bundles){clearTimeout(this.checker);if(bundles){this.list=this.list.concat(bundles);}this.check();},isFunction:function(obj){return!!(obj&&obj.constructor&&obj.call&&obj.apply);},check:function(){if(!this.list.length){return;}this.checkList();this.recheck();},checkList:function(){var i,j,length,bundle,hierarchy,params,func,funcScope;for(i=this.list.length-1;i>=0;i--){bundle=this.list[i];hierarchy=bundle.hierarchy;params=bundle.params;func=funcScope=this.context;for(j=0,length=hierarchy.length;j<length;j++){func=func[hierarchy[j]];if(typeof(func)==="undefined"){break;}if(this.isFunction(func)){func.apply(funcScope,params);this.list.splice(i,1);}funcScope=func;}}},recheck:function(){this.checker=setTimeout((function(_this){return function(){this.check();};})(this),10);}};DeferredJS.init(this);\r\n</script> <script>\r\n\t\t\t\tvar errorlist = [];\r\n\r\n\t\t\t\twindow.onerror = function WindowOnError(message, url, line) {\r\n\t\t\t\t\terrorlist.push({ message: message, url: url, line: line });\r\n\t\t\t\t};\r\n\t\t\t</script> <link rel="stylesheet" href="//includes.okccdn.com/lang/en/version/fca63e89d44b14b/globals.css" /><link rel="stylesheet" href="//includes.okccdn.com/lang/en/version/c94618735efb0d4/locals.css?set=matchsearch,search_overlay" /> <script>\n\t\tAUTOCORE_SELF_CHECK = null;\n\t\tAUTOCORE_START_TIMER = new Date();\n\t</script> <script src="//includes.okccdn.com/lang/en/version/0.10/core.js?modern=1"></script> <script src="//includes.okccdn.com/autocore.js?files=c26,c05,c23,c25,d08,d09,f80,d07,d01,f62,f60,d05,f59,b01,f33,f23,f21,f12,c01,f27,j85,f65,j83,f66,f76,f67,f70,f90,f87,f88,f89,c04,f52,f20,f78,f84,f36,f24,f64,f73,f86,d06,j86,f83,j87,j109,d04,f77,c16,f44,f43,f92,f79,f91&version=abf844ee3a"></script> <script src="//includes.okccdn.com/autocore.js?files=f85,j111&version=2fa356a2d5"></script> <script src="//includes.okccdn.com/autocore.js?files=b21,b35,c24,g02,g04&version=08c18fbee6" async></script> <script>\n\tvar AUTOCORE_TIMER_MS = new Date() - AUTOCORE_START_TIMER;\n\n\t\n\tif (Math.floor(Math.random()101) == 0) {\n\t\tsetTimeout(function() {\n\t\t\tnew Ajax.Request("/autocore/timer_report", {\n\t\t\t\tparameters : {\n\t\t\t\t\tms : AUTOCORE_TIMER_MS,\n\t\t\t\t\trand : Math.random(),\n\t\t\t\t\tfile : ''\n\t\t\t\t}\n\t\t\t});\n\t\t}, 1500);\n\t}\n</script> <script>\n\t\t\t\tDaisy2();\n\t\t\t\tDaisy.initialize();\n\t\t\t</script> <script type='text/javascript' src='//c.amazon-adsystem.com/aax2/amzn_ads.js'></script> <script type='text/javascript'>\n\t\ttry {\n\t\t\t\tamznads.getAds('3121');\n\t\t} catch(e) { /ignore/}\n</script> <body id="p_match" class="mac webkit logged_in okc2014 chrome expanded" style="margin: 0;"> <div id="global_js_errors"> <script>\n\tutil.startTimer("body-load");\n</script> <div id="leaderboard_container"> <div id="leaderboard_wrapper"> <div id="leaderboard" class="container_16 clearfix"> <div id="leaderboard_int"> <iframe id="ad_frame_leader" name="ad_frame_leader" class="ad" src="http://ads.okcimg.com/daisy?format=leader&amp;base=1&amp;page=Match&amp;authid=1%2c0%2c1436243304%2c0xbc4b4a62b2cab439%3b321b53cb77f9883e1208f23bc5a268c7353162dd&amp;pageurl=%2fmatch&amp;cachebust=887533\" width="728" height="90" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" data-format="leader" allowTransparency="true" ></iframe> <main id="page"> <nav id="navigation"> <div class="nav-left"> <h1 id="logo" class="nav-logo"> <a href="/home"> <span class="icon" aria-hidden="true"> <span class="text">OkCupid <ul class="nav-links nav-item"> <li class=""> <a href="/match"> <span class="text"> Browse Matches <li class=""> <a href="/quickmatch"> <span class="text"> Quickmatch <li class=""> <a href="https://www.okcupid.com/upgrade?cf=sitenav\"> <span class="text"> Join A-List <div class="nav-right "> <ul class="nav-notifications nav-item"> <li id="nav_visitors" class="nav-notifications-item visitors"> <a href="/visitors"> <span class="glyph" aria-hidden="true"> <i class="icon"> <span class="text"> Visitors <span id="nav_visitors_badge" class="badge"> <span class="count"> 1 <li id="nav_ratings" class="nav-notifications-item likes"> <a href="/who-likes-you"> <span class="glyph" aria-hidden="true"> <i class="icon"> <span class="text"> Likes <li id="nav_mailbox" class="nav-notifications-item messages"> <a href="/messages"> <span class="glyph" aria-hidden="true"> <i class="icon"> <span class="text"> Messages <span id="nav_mailbox_badge" class="badge"> <span class="count"> 1 <div class="nav-user"> <a href="/profile" class="nav-user-image"> <span class="text">show user menu <span class="nav-user-image-thumb"> <img src="http://k1.okccdn.com/media/img/user/placeholder_2013/pq_120.png\" alt="marsarasaurus" /> <ul class="nav-user-menu"> <li class=" profile"> <a href="/profile" class="nav-user-menu-item"> Profile <li class=" bookmarks"> <a href="/bookmarks" class="nav-user-menu-item"> Bookmarks <li class=" find-a-user"> <a href="/find-a-user" class="nav-user-menu-item"> Find a user <li class=" settings"> <a href="/settings" class="nav-user-menu-item"> Settings <li class=" sign-out"> <a href="/logout" class="nav-user-menu-item"> Sign Out <li class="upgrade join-alist"> <a href="https://www.okcupid.com/upgrade?cf=usernav\" class="nav-user-menu-item"> Join A-List <div id="matchsearch-alist-modal" class="modal aligncenter no-append noclose default_type"> <div class="heading"> <span class="icon">

Cut to the chase

<div class="desc">

You know what you want, and we can help you find it.
Upgrade to A-List to get access to the sexiest filters:

  • Attractiveness
  • Questions
  • Body type
  • Personality

<div class="content "> <a href="https://www.okcupid.com/upgrade?cf=react_match_filters\" class="flatbutton blue upgrade"> Learn more
<button class="no-thanks"> No thanks <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('matchsearch-alist-modal')"> <span class="icon i-close"> <div id="match-filters-wrapper"> <div id="main_content" class="page-section"> <div class="monolith"> <div id="match-results-wrapper"> <div class="match-results match-results-loading"> <footer class="page-section"> <div id="footer" class="container_16 clearfix"> <ul id="footer_nav">
  • <a href="/about">About
  • <a href="/contact-us">Contact
  • <a href="/help/topics">Help
  • <a href="/careers">Careers
  • <a href="/press/news">Press
  • <a href="/legal/terms">Legal
  • <a href="/legal/privacy#third-parties">Ad Choices
  • <a href="/tests">Tests
  • <a href="http://blog.okcupid.com/\">OkTrends
  • <a href="/mobile" target="blank">Mobile Apps
  • <div id="copyright"> OkCupid © 2015 <div class="clear"> \n\n<div id="global_messaging_templates">\n\n\t\n\t<script type="text/template" id="global_messaging_template" class="hidden">\n\t\t<div data-userid="<%- userid %>"\n\t\t\t\tclass="global_messaging\n\t\t\t\t\t<% if (!messages.length) { %> no_messages <% } %>\n\t\t\t\t\t<% if (mobile_mode) { %> mobile_mode <% } %>\n\t\t\t\t\t<% if (userinfo.disabled) { %> disabled <% } %>\n\t\t\t\t\t<% if (userinfo.staff) { %> staff <% } %>\n\t\t\t\t">\n\n\t\t\t<ul class="messages">\n\t\t\t<ul class="appended_message">\n\n\t\t\t<div class="loading_bar_wrapper">\n\t\t\t\t<div class="loading_bar">\n\t\t\t\n\n\t\t\t<% if (compose_message) { %>\n\t\t\t\t<div class="compose_message">\n\t\t\t\t\t<%= compose_message %>\n\t\t\t\t\n\t\t\t<% } else { %>\n\t\t\t\t<form class="compose <% if (enter_to_send) { %>enter_to_send<% } %>">\n\t\t\t\t\t<div class="border">\n\n\t\t\t\t\t<textarea id="message<%- userid %>"\n\t\t\t\t\t\tplaceholder="Compose your message"\n\t\t\t\t\t></textarea>\n\t\t\t\t\t<button type="submit" class="flatbutton">\n\t\t\t\t\t\tSend\n\t\t\t\t\t\n\n\t\t\t\t\t<div class="draft_message">Draft saved\n\n\t\t\t\t\t<label for="enter_to_send
    <%- userid %>">\n\t\t\t\t\t\tPress enter to send\n\t\t\t\t\t\n\t\t\t\t\t<input type="checkbox"\n\t\t\t\t\t\tid="enter_to_send
    <%- userid %>"\n\t\t\t\t\t\t<% if (enter_to_send && !mobile_mode) { %>\n\t\t\t\t\t\t\tchecked="checked"\n\t\t\t\t\t\t<% } %>\n\t\t\t\t\t\tclass="enter_to_send_checkbox" />\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\n\t</script>\n\n\t\n\t<script type="text/template" id="global_messaging_minimized_template" class="hidden">\n\t\t<div data-userid="<%- userid %>"\n\t\t\t\tclass="global_messaging minimized\n\t\t\t\t\t<% if (properties.unread) { %> unread_messages <% } %>">\n\t\t\t<div class="header">\n\n\t\t\t\t<div class="image">\n\t\t\t\t\t<img src="<%- userinfo.image %>" alt="An image of <%- userinfo.username %>" />\n\t\t\t\t\t<div class="unread_message_icon">\n\t\t\t\t\t\t<span class="icon i-messages">\n\t\t\t\t\t\t<span class="icon i-ellipsis-h">\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\t<%- userinfo.username %>\n\t\t\t\t

    \n\n\t\t\t\t<a href="#" class="maximize">\n\n\t\t\t\t<div class="controls">\n\t\t\t\t\t<a href="#" class="close">\n\t\t\t\t\t\t<i class="icon i-close">\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t\n\t</script>\n\n\t\n\t<script type="text/template" id="global_messaging_header" class="hidden">\n\t\t<div class="header old_template">\n\t\t\t<a href="/profile/<%- userinfo.username %>">\n\t\t\t\t<div class="image" data-profile-popover data-username="<%- userinfo.username %>">\n\t\t\t\t\t<img src="<%- userinfo.image %>" alt="An image of <%- userinfo.username %>" />\n\t\t\t\t\t<% if (userinfo.is_online) { %>\n\t\t\t\t\t\t<span class="online">online now!\n\t\t\t\t\t<% } %>\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\t<%- userinfo.username %>\n\t\t\t\t

    \n\t\t\t\n\n\t\t\t<div class="controls">\n\t\t\t\t<a href="#" class="options">\n\t\t\t\t\t<i class="icon i-ellipsis-v">\n\t\t\t\t\n\t\t\t\t<a href="#" class="minimize">\n\t\t\t\t\t<i class="icon i-minimize">\n\t\t\t\t\n\t\t\t\t<a href="#" class="close">\n\t\t\t\t\t<i class="icon i-close">\n\t\t\t\t\n\t\t\t\t<div class="popover arrowup alignleft">\n\t\t\t\t\t<div class="contents">\n\t\t\t\t\t\t<a class="block" href="#">Block them\n\t\t\t\t\t\t<a class="flag" href="#">Report a message\n\t\t\t\t\t\n\t\t\t\t\t<div class="tail">\n\t\t\t\t\n\t\t\t\n\n\t\t\t<div class="border">\n\t\t\n\t</script>\n\n\t\n\t\n\n\t<script type="text/template" id="global_messaging_message_meta" class="hidden">\n\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class="message_meta <%- message.meta_classes %>">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class="im_note">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class="read_receipt">\n\t\t\t\t\t\t<span class="icon i-checkmark">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t</script>\n\n\t\n\t\n\n\t<script type="text/template" id="global_messaging_message" class="hidden">\n\t\t\n\t\t
  • \n\t\t\t<% if (message.show_timestamp) { %>\n\t\t\t\t<div class="timestamp" data-timestamp="<%- message.converted_timestamp %>">\n\t\t\t\t\t<time datetime="<%- message.semantic_timestamp %>">\n\t\t\t\t\t\t<%- message.pretty_timestamp %>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\t<div class="<%- message.classes %>"\n\t\t\t\t\t<% if (message.id) { %>\n\t\t\t\t\t\tdata-id="<%- message.id %>"\n\t\t\t\t\t<% } %>\n\t\t\t\t\tdata-from="<%- message.from %>"\n\t\t\t\t\tdata-timestamp="<%- message.timestamp %>">\n\t\t\t\t<% if (message.is_mutual_match) { %>\n\t\t\t\t\t<div class="mutual_match_contents">\n\t\t\t\t\t\t<span class="icon_wrapper">\n\t\t\t\t\t\t\t<span class="icon i-star">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<span class="title">You like each other!\n\t\t\t\t\t\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<%- message.body %>\n\t\t\t\t<% } %>\n\t\t\t\n\t\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class="message_meta <%- message.meta_classes %>">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class="im_note">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class="read_receipt">\n\t\t\t\t\t\t<span class="icon i-checkmark">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t\t
  • \n\t\n\t</script>\n\n\t\n\t<script type="text/template" id="global_messaging_messages" class="hidden">\n\t\t<% if (show_warning) { %>\n\t\t\t<li class="scam_warning">\n\t\t\t\t
    \n\t\t\t\t\tWarning: Never transfer funds to someone you met on\n\t\t\t\t\tthe Internet and keep your conversations safely on OkCupid. <a href="#"\n\t\t\t\t\tclass="scam_warning_more_info">More info\n\t\t\t\t
    \n\t\t\t\n\t\t<% } %>\n\t\t<% _.each(messages, function(message, key, list) { %>\n\t\t\t<% if (!message.hidden) { %>\n\t\t\t\t\n\t\t
  • \n\t\t\t<% if (message.show_timestamp) { %>\n\t\t\t\t<div class="timestamp" data-timestamp="<%- message.converted_timestamp %>">\n\t\t\t\t\t<time datetime="<%- message.semantic_timestamp %>">\n\t\t\t\t\t\t<%- message.pretty_timestamp %>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\t<div class="<%- message.classes %>"\n\t\t\t\t\t<% if (message.id) { %>\n\t\t\t\t\t\tdata-id="<%- message.id %>"\n\t\t\t\t\t<% } %>\n\t\t\t\t\tdata-from="<%- message.from %>"\n\t\t\t\t\tdata-timestamp="<%- message.timestamp %>">\n\t\t\t\t<% if (message.is_mutual_match) { %>\n\t\t\t\t\t<div class="mutual_match_contents">\n\t\t\t\t\t\t<span class="icon_wrapper">\n\t\t\t\t\t\t\t<span class="icon i-star">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<span class="title">You like each other!\n\t\t\t\t\t\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<%- message.body %>\n\t\t\t\t<% } %>\n\t\t\t\n\t\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class="message_meta <%- message.meta_classes %>">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class="im_note">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class="read_receipt">\n\t\t\t\t\t\t<span class="icon i-checkmark">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t\t
  • \n\t\n\t\t\t<% } %>\n\t\t<% }); %>\n\t</script>\n\n\t\n\t<script type="text/template" id="global_messaging_overflow_template" class="hidden">\n\t\t<div id="global_messaging_overflow" class="open_left\n\t\t\t\t<% if (unread_messages) { %> unread_messages <% } %>">\n\t\t\t<a id="global_messaging_overflow_trigger" href="#">\n\t\t\t\t<div class="icon_wrapper">\n\t\t\t\t\t<span class="icon i-messages">\n\t\t\t\t\t<span class="icon i-ellipsis-h">\n\t\t\t\t\n\t\t\t\t<span class="count <%- count_class %>">\n\t\t\t\t\t<% if (number_of_threads > 99) { %>\n\t\t\t\t\t\t99+\n\t\t\t\t\t<% } else { %>\n\t\t\t\t\t\t<%- number_of_threads %>\n\t\t\t\t\t<% } %>\n\t\t\t\t\n\t\t\t\n\t\t\t<div id="global_messaging_overflow_threads">\n\t\t\n\t</script>\n\n\t\n\t<script type="text/template" id="global_messaging_first_contact" class="hidden">\n\n\t\t<div class="message_success_wrapper old_template">\n\t\t\t<div class="message_success">\n\t\t\t\tMessage sent!\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<div class="alist">\n\t\t\t\t\t\tWant to see if they’ve read it? \n\t\t\t\t\t\t<a href="https://www.okcupid.com/upgrade?feature=receipts&cf=message_sent_ad\">\n\t\t\t\t\t\t\tUpgrade to A-List\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\n\n\t</script>\n\n\t\n\t\n\n<div id="global_messaging_block_modal" class="modal alignleft noclose default_type">\n\t\n\n\t\n\n\t\n\t\t<div class="title_container">\n\t\t\t<h2 class="title">Is this person bothering you?\n\t\t\n\t\n\n\t\n\t\t<div class="desc">\n\t\t\t

    \n\t\t\tThis will prevent further communication between you and them.\n\t\t\t<span class="modal_error hidden">Something went wrong. Please refresh and try again.\n\t\t

    \n\t\t\n\t\n\n\n\t<div class="content empty">\n\t\t\n\t\n\n\t\n\n\t<div class="drag_area">\n\t\t<div class="top">\n\t\t<div class="left">\n\t\t<div class="right">\n\t\t<div class="bottom">\n\t\n\n\t<a class="close" href="javascript:void(0)" onclick="Modal.close('global_messaging_block_modal')">\n\t\t<span class="icon i-close">\n\t\n\n\t\n\t\t<div class="buttons">\n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton red confirm">\n\t\t\t\tBlock them\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton silver cancel">\n\t\t\t\tCancel\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id="global_messaging_block_success" class="modal fixed noclose aligncenter global_messaging_success default_type">\n\t\n\n\t\n\n\t\n\t\t<div class="title_container">\n\t\t\t<h2 class="title">\n\t\t\t<span class="icon i-checkmark">\n\t\t\tBlocked!\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class="content ">\n\t\t\n\t\t\t\n\t\t\tYou’ll no longer receive messages from <span class="username">.\n\t\t\t
    You can unblock someone from their profile.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class="drag_area">\n\t\t<div class="top">\n\t\t<div class="left">\n\t\t<div class="right">\n\t\t<div class="bottom">\n\t\n\n\t<a class="close" href="javascript:void(0)" onclick="Modal.close('global_messaging_block_success')">\n\t\t<span class="icon i-close">\n\t\n\n\t\n\t\t<div class="buttons">\n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton blue">\n\t\t\t\tClose\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id="global_messaging_flag_modal" class="modal fixed noclose flagform default_type">\n\t\n\n\t\n\n\t\n\t\t<div class="title_container">\n\t\t\t<h2 class="title">Report their message\n\t\t\n\t\n\n\t\n\n\n\t<div class="content ">\n\t\t\n\t\t\t\n\t\t\t<form method="post">\n\t\t\t\t\n\t\t\t\t<input type="hidden" name="userid" value="">\n\t\t\t\t<input type="hidden" name="objectid" value="">\n\t\t\t\t<input type="hidden" name="name" value="">\n\n\t\t\t\t<input type="hidden" name="type" value="12">\n\t\t\t\t<input type="hidden" name="setnewflag" value="1">\n\n\t\t\t\t<div class="input_group clearfix">\n\t\t\t\t\t<label for="reason">What’s wrong?\n\t\t\t\t\t<select name="reason" id="reason">\n\t\t\t\t\t\t<option value="offensive">Offensive\n\t\t\t\t\t\t<option value="harassment">Harassment\n\t\t\t\t\t\t<option value="scammer">Scammer\n\t\t\t\t\t\t<option value="fake user">Fake User\n\t\t\t\t\t\t<option value="other">Other\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class="input_group clearfix">\n\t\t\t\t\t<label for="comment">Optionally, tell us more…\n\t\t\t\t\t<textarea id="comment" name="comment"></textarea>\n\t\t\t\t\n\t\t\t\n\t\t\t<span class="modal_error hidden">Something went wrong. Please refresh and try again.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class="drag_area">\n\t\t<div class="top">\n\t\t<div class="left">\n\t\t<div class="right">\n\t\t<div class="bottom">\n\t\n\n\t<a class="close" href="javascript:void(0)" onclick="Modal.close('global_messaging_flag_modal')">\n\t\t<span class="icon i-close">\n\t\n\n\t\n\t\t<div class="buttons">\n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton blue confirm">\n\t\t\t\tSubmit\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton silver cancel">\n\t\t\t\tCancel\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id="global_messaging_flag_success" class="modal fixed noclose aligncenter global_messaging_success default_type">\n\t\n\n\t\n\n\t\n\t\t<div class="title_container">\n\t\t\t<h2 class="title">\n\t\t\t<span class="icon i-checkmark">\n\t\t\tReported!\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class="content ">\n\t\t\n\t\t\t\n\t\t\tRetribution will be swift. They’ve also been blocked\n\t\t\t
    \n\t\t\tso you won’t have to deal with them again.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class="drag_area">\n\t\t<div class="top">\n\t\t<div class="left">\n\t\t<div class="right">\n\t\t<div class="bottom">\n\t\n\n\t<a class="close" href="javascript:void(0)" onclick="Modal.close('global_messaging_flag_success')">\n\t\t<span class="icon i-close">\n\t\n\n\t\n\t\t<div class="buttons">\n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton blue">\n\t\t\t\tClose\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id="global_messaging_scam_warning" class="modal fixed noclose aligncenter default_type">\n\t\n\n\t\n\n\t\n\t\t<div class="title_container">\n\t\t\t<h2 class="title">\n\t\t\tAvoid internet scams\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class="content ">\n\t\t\n\t\t\t\n\t\t\tScams are rare, but you should always follow these guidelines:\n\t\t\t
    \n\t\t\t
      \n\t\t\t\t
    1. Keep your conversation on OkCupid
    2. \n\t\t\t\t
    3. Don’t give money to people on the Internet
    4. \n\t\t\t\t
    5. Don’t believe people who claim to be stranded abroad
    6. \n\t\t\t\t
    7. If you suspect that someone is a scammer, report them
    8. \n\t\t\t
    \n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class="drag_area">\n\t\t<div class="top">\n\t\t<div class="left">\n\t\t<div class="right">\n\t\t<div class="bottom">\n\t\n\n\t<a class="close" href="javascript:void(0)" onclick="Modal.close('global_messaging_scam_warning')">\n\t\t<span class="icon i-close">\n\t\n\n\t\n\t\t<div class="buttons">\n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t<button class="flatbutton blue">\n\t\t\t\tClose\n\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n\n\n\n\n\n\n <div id="im_footer" class="clearfix"> <div id="event_display_container"> <div id="event_display" onMouseOver="EventUiManager.mouseover();" onMouseOut="EventUiManager.mouseout();"> <div id="boost_activity_toggler"> <a href="#"> <span class="icon i-boost"> <span class="text_boost">Boost <span class="text_autoboost">Auto-Boost activity <span class="action icon i-minimize"> <span class="action icon i-maximize"> <span class="close"> <span class="okicon i-close"> <div id="event_display_body"> <div id="global_messaging_container" class="hidden"> <script id="event_notification_template" type="text/template">\r\n\t\n\n<div class="orbit_event <%= event.orbit_class %>">\n\t<div class="orbit_inner">\n\n\t\t<span class="indicator">\n\n\t\t<img src="<%= event.thumbnail %>" />\n\n\t\t<div class="info">\n\t\t\t<div class="user">\n\t\t\t\t<%= event.screenname %>\n\t\t\t\n\t\t\t<div class="action">\n\t\t\t\t<%= event.infostring %>\n\t\t\t\n\t\t\n\n\t\t<a href="<%= event.link %>"\n\t\t\t\tclass="event_link"\n\t\t\t\tdata-userid="<%= event.userid %>"\n\t\t\t\tdata-eventtype="<%= event.eventtype %>">\n\t\t<a href="javascript:void(0)" class="close">\n\t\t\t<span class="icon i-close">\n\t\t\n\n\t\n\n\r\n</script> <div id="okphotos_overlay"> <div class="content"> <div id="okphotos_viewer" class=""> <div class="sidebar_bg"> <div id="okphotos_viewer_sidebar" class="sidebar"> <div id="okphotos_add_photo_container"> <a id="okphotos_add_photo" class="flatbutton blue">Add Photo<i class="icon"> <div id="album_selector" class="popover arrowleft"> <div class="contents"> <div class="content "> <h4 class="prompt">Add a photo to: <ul class="albums"> <div id="new_album_container"> <a id="album_select_new" href="javascript:void(0)"> Create a new album <i class="icon"> <form id="new_album_form" class="okform"> <input id="new_album_title" placeholder="Create a new album" maxlength="22"/> <button id="new_album_save" class="flatbutton blue">Create <div class="instagram_connect"> <i class="icon"> <p class="message">Stay fresh with Instagram

    <button id="okphotos_instagram_connect" class="flatbutton blue">Connect <div class="tail"> <div class="viewer"> <div class="header"> <h3 class="title album_title"> <div class="album_controls controls"> <a href="javascript:void(0)" id="okphotos_edit_album" class="edit"> <i class="icon"> <a href="javascript:void(0)" id="okphotos_delete_album" class="delete"> <i class="icon"> <div id="album_edit_dialog" class="popover arrowup aligncenter"> <div class="contents"> <div class="content "> <div class="okform initialized"> <input id="album_edit_title" placeholder="New album title"/> <button id="album_edit_submit" class="flatbutton blue">Save <button id="album_edit_cancel" class="flatbutton silver">Cancel <div class="tail"> <div id="album_delete_dialog" class="popover arrowup aligncenter"> <div class="contents"> <div class="desc">

    Are you sure you want to delete this album?

    <div class="content "> <button id="album_delete_submit" class="flatbutton red">Delete <button id="album_delete_cancel" class="flatbutton silver">Cancel <div class="tail"> <span class="counter"> <div class="photo"> <img id="okphotos_main_photo" src=""/> <div class="description"> <div class="controls_actions_wrapper"> <div class="actions"> <div id="okphotos_description_form" class="description_actions okform"> <textarea id="okphotos_edit_description" placeholder="Add a caption"></textarea> <button id="okphotos_edit_description_confirm" class="flatbutton blue">Save <button id="okphotos_edit_description_cancel" class="flatbutton silver">Cancel <div class="delete_actions"> <button id="okphotos_delete_confirm" class="flatbutton red">Delete <button id="okphotos_delete_cancel" class="flatbutton silver">Cancel <div class="crop_actions"> <button id="okphotos_crop_confirm" class="flatbutton blue">Save <button id="okphotos_crop_cancel" class="flatbutton silver">Cancel <div class="photo_controls controls"> <a href="javascript:void(0)" id="okphotos_edit_photo" class="edit"> <i class="icon"> <a href="javascript:void(0)" id="okphotos_recrop_photo" class="recrop"> <i class="icon"> <a href="javascript:void(0)" id="okphotos_delete_photo" class="delete"> <i class="icon"> <a href="javascript:void(0)" id="okphotos_report_photo" class="report"> Report photo <div id="okphotos_action_area"> <div id="okphotos_upload" class="action"> <div class="action_content"> <h3 class="title">Where's your photo? <div id="service_picker"> <div class="picker_wrapper"> <div class="services"> <a id="service_facebook" class="service" href="javascript:void(0)"> <i class="icon i-facebook-inverted"> <div class="label">Facebook <form id="okphotos_upload_form" action="/ajaxuploader" method="POST"> <label id="service_computer" class="service" for="okphotos_file_input"> <i class="icon i-pc"> <div class="label"> <span class="pc_only">My PC <span class="mac_only">My Mac <input type="file" value="Upload" id="okphotos_file_input" name="file" accept="image/*"/> <input type="hidden" name="userid" value="13568020090150630457" /> <input type="hidden" name="simple_ajax" value="1" /> <a id="service_instagram" class="service" href="javascript:void(0)"> <i class="icon i-instagram"> <div class="label">Instagram <div id="iframe_container"> <p class="dragndrop_message"> Drop it like it\u2019s hot

    <div id="okphotos_dragndrop"> <div id="okphotos_rules" class="user_tips"> Photos need to be larger 400 x 400px and you need to be in the photo. Also, no naughty bits! <div id="okphotos_photo_tiles" class="action"> <div id="photo_tiles_header" class="action_header"> <div class="title" href="javascript:void(0)"> <a class="subtitle" href="javascript:void(0)"> <div class="action_content has_header has_footer"> <div id="photo_tile_holder" class="tile_holder"> <div id="photo_subtile_holder" class="tile_holder"> <div id="photo_tiles_loader"> <div class="icon"> <div class="action_footer"> <button id="photo_tiles_done" class="flatbutton green disabled">Next <div id="okphotos_edit" class="action"> <div class="action_header"> <div class="crop_header"> <div class="title">Edit thumbnail <div class="caption_header"> <div class="title">Add a caption <div class="action_content has_header has_footer"> <div id="okphotos_edit_wrapper"> <img id="okphotos_photo"/> <div id="okphotos_edit_actions" class="action_footer okform"> <textarea id="photo_caption" placeholder="Say something about your photo" maxlength="100"></textarea> <a id="okphotos_edit_next" class="flatbutton green">Done <div id="okphotos_finished" class="action"> <div class="content"> <div class="action_content"> <div class="reassurance">You look great! <img id="okphotos_cropped_photo"/> <button id="upload_another" class="flatbutton blue"> Add more <a href="javascript:;" id="done_uploading"> I\u2019m Done <div id="okphotos_error" class="action"> <div class="action_content"> <div class="content"> <div class="container"> <div class="error_icon"> <i class="icon i-alert"> <div class="message"> <button class="flatbutton white">Try again <a id="okphotos_action_close" href="javascript:void(0)"> <i class="icon i-close"> <script>\n\tOkPhotos.initialize({\n\t\tuserid: '13568020090150630457',\n\t\tauthcode: '1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd'\n\t});\n\tOkPhotos.setPhotoCount(0);\n\n\t\n</script> <div id="mutual_match_modal" class="modal aligncenter noclose mutual_match_modal default_type"> <div class="title_container"> <h2 class="title">They like you back! <div class="desc">

    Now’s the perfect time to send them a message!

    <div class="content "> <div class="userpic theirs"> <img class="hide" src="" alt="A picture of staffrobot"> <div class="userpic users"> <img src="http://k1.okccdn.com/media/img/user/placeholder_2013/pq_160.png\" alt="A picture of marsarasaurus"> <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('mutual_match_modal')"> <span class="icon i-close"> <div class="buttons">
    • <a class="flatbutton blue visit" href="/profile/staffrobot?cf=mutual_match"> Visit them
    • <button class="flatbutton white closebutton" href="#">Not now
    <div id="incognito_promo" class="modal aligncenter incognito-modal incognito-modal-packages default_type no_close"> <div class="content "> <div class="incognito-modal-left"> <div class="incognito-modal-bandit"> <div class="incognito-modal-carousel"> <div class="incognito-modal-slides"> <div class="incognito-modal-slide"> <h2 class="incognito-modal-head">Get ultimate privacy.
    Go incognito! <p class="incognito-modal-body">Your profile will only be visible to
    people you like or message.

    <div class="incognito-modal-slide"> <h2 class="incognito-modal-head">See but don’t be seen.
    It’s that simple. <p class="incognito-modal-body">Browse freely, your profile won’t appear anywhere—not even in search.

    <div class="incognito-modal-slide"> <h2 class="incognito-modal-head">You’re always in
    complete control. <p class="incognito-modal-body">Revoke a person’s access to your
    profile by unliking or hiding them.

    <div class="incognito-modal-slide"> <h2 class="incognito-modal-head">Craving a bit
    more attention? <p class="incognito-modal-body">We get it. Turn Incognito Mode on
    and off whenever you want!

    <div class="incognito-modal-carousel-nav"> <button class="incognito-modal-carousel-nav-button" data-index="0"> <button class="incognito-modal-carousel-nav-button" data-index="1"> <button class="incognito-modal-carousel-nav-button" data-index="2"> <button class="incognito-modal-carousel-nav-button" data-index="3"> <div class="incognito-modal-right"> <form class="incognito-modal-form okform"> <label id="incognito-plan-label-10" for="incognito-plan-10" class="incognito-plan incognito-plan-1"> <input type="radio" id="incognito-plan-10" name="incognito-plan" value="10" /> 1 month at $19.95 / mo <label id="incognito-plan-label-14" for="incognito-plan-14" class="incognito-plan incognito-plan-3"> <input type="radio" id="incognito-plan-14" name="incognito-plan" value="14" /> 3 months at $14.95 / mo <label id="incognito-plan-label-18" for="incognito-plan-18" class="incognito-plan incognito-plan-6"> <input type="radio" id="incognito-plan-18" name="incognito-plan" value="18" /> 6 months at $9.95 / mo <div class="buttons">
    • <button class="blue flatbutton purchase"> Subscribe
    • <button class="simplecancel cancel"> No thanks
    <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('incognito_promo')"> <span class="icon i-close"> <div id="incognito-upsell" class="modal aligncenter stackedbuttons fullbleedheading noclose incognito-upsell default_type no_close"> <div class="heading"> Thanks for your purchase! <div class="content "> <h2 class="incognito-upsell-head">Want even more power? <p class="incognito-upsell-subhead"> Join A-List and enjoy these additional features.

    <ul class="incognito-upsell-list"> <li class="incognito-upsell-list-item">See who likes you <li class="incognito-upsell-list-item">Advanced Search Filters <li class="incognito-upsell-list-item">More message storage <li class="incognito-upsell-list-item">Message read receipts <li class="incognito-upsell-list-item">and tons more! <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('incognito-upsell')"> <span class="icon i-close"> <div class="buttons"> <div id="boost_purchase_modal" class="modal fixed aligncenter cornerclose selectboosts--withsubs default_type no_close"> <div class="content "> <div class="boostcontent"> <div class="selectboosts-item--pkgs"> <div class="boosticon boosticon-pkgs">

    Get a full day of activity
    in 15 minutes

    With extra momentum in our algorithms, we’ll show you to more people, faster

    <div class="selectboosts-item--subs"> <div class="boosticon boosticon-subs">

    Sit back and watch your popularity skyrocket.

    With a Boost subscription, you\u2019ll be automatically boosted once a day during peak hours.

    <div class="selectboosts"> <div class="selectboosts-type"> <button class="selectboosts-type-option selectboosts-type-pkgs"> Packages <button class="selectboosts-type-option selectboosts-type-subs"> Subscriptions <form id="select_boost_package" class="okform boost-select-form"> <ul id="boostsubs" class="boost-select-list boost-select-subs selectboosts-item--subs">
  • <input type="radio" id="sub10" value="10" name="boostsubs" checked /> <label class="radio" for="sub10"> 1 month at $19.95 / mo
  • <input type="radio" id="sub14" value="14" name="boostsubs" /> <label class="radio" for="sub14"> 3 months at $14.95 / mo
  • <input type="radio" id="sub18" value="18" name="boostsubs" /> <label class="radio" for="sub18"> 6 months at $9.95 / mo
  • <ul id="boostpackages" class="boost-select-list boost-select-packages selectboosts-item--pkgs">
  • <input type="radio" id="pkg3" value="pkg3" name="boostpkgs" checked="checked" /> <label class="radio" for="pkg3"> 10 boosts for $1.69 each
  • <input type="radio" id="pkg2" value="pkg2" name="boostpkgs" /> <label class="radio" for="pkg2"> 5 boosts for $1.89 each
  • <input type="radio" id="pkg1" value="pkg1" name="boostpkgs" /> <label class="radio" for="pkg1"> 1 boost for $1.99
  • <button class="big flatbutton blue boost-buy"> <span class="selectboosts-item--pkgs"> Boost now <span class="selectboosts-item--subs"> Subscribe <a href="javascript:;" class="boost-cancel">No thanks <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('boost_purchase_modal')"> <span class="icon i-close"> <div id="boost_purchase_success" class="modal aligncenter stackedbuttons fullbleedheading noclose boosts-success default_type no_close"> <div class="heading"> Thanks for your purchase! <div class="content "> <h2 class="boosts-success-head"> Your Boost subscription
    has begun. <ul class="boosts-success-list"> <li class="boosts-success-list-item"> You\u2019ll receive an automatic Boost to your profile once a day during peak hours. <li class="boosts-success-list-item"> With each boost, you\u2019ll get a full day of activity in just 15 minutes! <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('boost_purchase_success')"> <span class="icon i-close"> <div class="buttons">
    • \r\n\t\t\t\t<button class="blue flatbutton boosts-success-close">\r\n\t\t\t\t\tGot it\r\n\t\t\t\t\r\n\t\t\t
    <div class="quickview"> <div class="inner"> <div class="quickview-top"> <div class="quickview-top-photo"> <img class="active" src=""> <a class="quickview-top-username"> <div class="quickview-top-demo"> <div class="quickview-top-demo-age"> <div class="quickview-top-demo-location"> <div class="quickview-top-percentage"> <div class="quickview-bottom"> <div class="quickview-arrow"> <div id="quickview_templates"> <script type="text/template" id="profile_quickview_traits_template">\n\t\t<div class="qvtraits">\n\t\t\t<% _.each(traits, function(trait) { %>\n\t\t\t\t<div class="qvtraits-trait <%- trait.type %>">\n\t\t\t\t\t<i class="okicon i-<%- trait.type == 'positive' ? 'more' : 'less' %>-arrow">\n\t\t\t\t\t<%- trait.name %>\n\t\t\t\t\n\t\t\t<% }); %>\n\t\t\n\t</script> <script type="text/template" id="profile_quickview_tags_template">\n\t\t<div class="qvtags">\n\t\t\t<% _.each(tags, function(tag, idx) { %>\n\t\t\t\t<div class="qvtags-tag">\n\t\t\t\t\t<%- idx ? ', ' : '' %>\n\t\t\t\t\t<%- tag %>\n\t\t\t\t\n\t\t\t<% }); %>\n\t\t\n\t</script> <script type="text/template" id="profile_quickview_empty_template">\n\t\t<div class="qvempty">\n\t\t\tNot enough info. Drats!\n\t\t\n\t</script> <script>\n\tProfileQuickview.init({"screenname" : "marsarasaurus"});\n</script> <div id="authtoken_refresh_notice" class="modal fixed alignleft noclose default_type"> <div class="title_container"> <h2 class="title">This page is out of date <div class="content ">

    Refresh the page to get OkCupid working again!

    <div class="drag_area"> <div class="top"> <div class="left"> <div class="right"> <div class="bottom"> <a class="close" href="javascript:void(0)" onclick="Modal.close('authtoken_refresh_notice')"> <span class="icon i-close"> <div class="buttons">
    • <button class="flatbutton blue" onclick="window.location.reload(); return false;">Refresh
    <div id="windowshade" class="windowshade-okpay"> <div id="feedback_banner"> <div class="inner"> <div class="quickbuybox" id="incognito_box" style="display:none"> <div class="inner"> <div class="iframewrapper"> <iframe id="incognito_iframe" name="incognito_iframe" frameborder="0" scrolling="no"></iframe> <form id="incognito_form" action="https://www.okcupid.com/quickbuy\" method="post" target="incognito_iframe"> <input type="hidden" name="product" value="incognito"/> <input type="hidden" name="source" value="http://www.okcupid.com/match?count%3d9%26fromWhoOnline%3d0%26matchOrderBy%3dMATCH%26timekey%3d1%26locid%3d4356642%26custom_search%3d0%26update_prefs%3d1%26mygender%3dM%26sort_type%3d0%26filter1%3d2%252C26%252C32%26low%3d1%26filter3%3d0%252C34%26filter2%3d3%252C25%26discard_prefs%3d1%26sa%3d1%26ajax_load%3d1%26match_card_class%3djust_appended\" /> <input type="hidden" name="cf" value=",incognito_purchase"/> <input type="hidden" name="prefix" value="http://www.okcupid.com\"/> <input type="hidden" name="feature" value="10002" /> <input type="hidden" name="page" value="3" /> <input type="hidden" name="buySubscription" value="1" /> <input type="hidden" name="authcode" value="1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd" /> <script>\r\n\t\t\tvar incognito_controller = new Product({"hasbilling" : false, "productid" : "incognito", "secure_prefix" : "https://www.okcupid.com\"});\r\n\t\t\t// \r\n\t\t\t// \r\n\t\t\t// \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tincognito_controller.successaction = IncognitoModal.succeed.bind(IncognitoModal);\r\n\t\t\t\r\n\t\t</script> <div class="quickbuybox" id="boostsubs_box" style="display:none"> <div class="inner"> <div class="iframewrapper"> <iframe id="boostsubs_iframe" name="boostsubs_iframe" frameborder="0" scrolling="no"></iframe> <form id="boostsubs_form" action="https://www.okcupid.com/quickbuy\" method="post" target="boostsubs_iframe"> <input type="hidden" name="product" value="boostsubs"/> <input type="hidden" name="source" value="http://www.okcupid.com/match?count%3d9%26fromWhoOnline%3d0%26matchOrderBy%3dMATCH%26timekey%3d1%26locid%3d4356642%26custom_search%3d0%26update_prefs%3d1%26mygender%3dM%26sort_type%3d0%26filter1%3d2%252C26%252C32%26low%3d1%26filter3%3d0%252C34%26filter2%3d3%252C25%26discard_prefs%3d1%26sa%3d1%26ajax_load%3d1%26match_card_class%3djust_appended\" /> <input type="hidden" name="cf" value=",boostsubs_purchase,boostsubs_cheap_promoonly"/> <input type="hidden" name="prefix" value="http://www.okcupid.com\"/> <input type="hidden" name="feature" value="10003" /> <input type="hidden" name="page" value="3" /> <input type="hidden" name="buySubscription" value="1" /> <input type="hidden" name="authcode" value="1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd" /> <script>\r\n\t\t\tvar boostsubs_controller = new Product({"hasbilling" : false, "productid" : "boostsubs", "secure_prefix" : "https://www.okcupid.com\"});\r\n\t\t\t// \r\n\t\t\t// \r\n\t\t\t// \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tboostsubs_controller.successaction = BoostController.validateSub.bind(BoostController);\r\n\t\t\t\r\n\t\t</script> <script>\n\n\t// \n\tif (typeof Modal != 'undefined') {\n\t\tModal.init();\n\t}\n\n\tif (typeof TimeTracker != 'undefined') {\n\t\tTimeTracker.get();\n\t}\n\n\t \r\n\t\t\tQuickTooltip.init();\r\n\t\t\tHeaderBar.init({});\r\n\t\t \n \r\n\t\t\t// delay 10ms so we ignore the first few instant events\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tQuickTooltip.init();\r\n\t\t\t\tNavigation.init({"mailbox" : {"count" : 1, "text" : "Messages"}, "ratings" : {"count" : 0, "text" : "Likes"}, "visitors" : {"count" : 1, "text" : "Visitors"}});\r\n\t\t\t}, 10)\r\n\t\t \nModal.init();\n \n\t\t\t\tif (typeof(DetectTimezone) != 'undefined') {\n\t\t\t\t\tDetectTimezone.initialize({"offset" : -240});\n\t\t\t\t}\n\t\t\t \n \n\t\t\t\tif (typeof(QuestionMilestones) != "undefined") {\n\t\t\t\t\tQuestionMilestones.thresholds = [10, 25, 50];\n\t\t\t\t\tQuestionMilestones.numAnswered = 5;\n\t\t\t\t}\n\t\t\t \n \n\t\t\t\tif (typeof(DetectTimezone) != 'undefined') {\n\t\t\t\t\tDetectTimezone.initialize({"offset" : -240});\n\t\t\t\t}\n\t\t\t \n \n\t\t\tif (typeof GlobalMessaging !== "undefined" && GlobalMessaging !== null) {\n\t\t\t\tGlobalMessaging.init({\n\t\t\t\t\tinitialData: "{}",\n\t\t\t\t\topenWindows: {"enter_to_send" : [], "states" : {}, "order" : [], "allow_overflow_notification" : true},\n\t\t\t\t\tunderstandsOverflow: false,\n\t\t\t\t\tmobileMode: false,\n\t\t\t\t\tmaxOverflow: 20\n\t\t\t\t});\n\n\t\t\t\t\n\t\t\t}\n\t\t \n \n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tInstantEvents.invoke('im_footer', { off: true });\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t \n \n\t\t\t\tMutualMatchModal.init("mutual_match_modal", true);\n\t\t\t \n \n\t\t\tIncognitoModal.init({"package" : [10, 14, 18]});\n\t\t \n \n\t\t\t\tQuickTooltip.init();\n\t\t\t \nFeedbackBanner.init();\n\r\n\t\t\t\t\tif (typeof(DeferredJS) !== 'undefined') {\r\n\t\t\t\t\t\tDeferredJS.addBundles(\r\n\t\t\t\t\t\t\t[{"hierarchy" : ["MatchSearch", "init"], "params" : [{"questionInfo" : {}, "interestInfo" : {}, "isExpanded" : false, "metric" : false, "showIntro" : false, "filters" : {"monogamy" : "unknown", "interest_ids" : [], "tagOrder" : ["availability", "minimum_height", "maximum_height"], "last_login" : 604800, "speaks_my_language" : 0, "maximum_age" : 99, "locid" : 4357892, "questions" : [], "location" : {"popularity" : 0, "longitude" : -7702879, "metro_area" : 8840, "city_name" : "Washington", "locid" : 4357892, "latitude" : 3889940, "display_state" : 1, "state_code" : "DC", "default_radius" : 100, "density" : 0, "postal_code" : "", "country_code" : "US"}, "gentation" : 34, "answers" : [], "maximum_height" : 17272, "minimum_height" : 15494, "availability" : "single", "radius" : 25, "order_by" : "MATCH", "minimum_age" : 18}}]}, {"hierarchy" : ["MatchResults", "init"], "params" : [{"understandsHiding" : false, "total_matches" : 1000, "data" : [{"enemy" : 0, "relative" : 50, "last_login" : 1436157124, "gender" : 2, "location" : {"postal_code" : "22003", "nameid" : 6791954, "display_state" : 1, "locid" : 4210872, "state_code" : "VA", "country_name" : "United States", "longitude" : -7721548, "popularity" : 419, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Annandale", "metro_area" : 8840, "latitude" : 3883006}, "userid" : "9990108451871093435", "match" : 8625, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/640x560/48x48/911x911/0/7017086417221639803.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/60x60/48x48/911x911/0/7017086417221639803.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/120x120/48x48/911x911/0/7017086417221639803.webp?v=2", "original" : "http://k2.okccdn.com/php/load_okc_image.php/images/48x48/911x911/0/7017086417221639803.webp?v=2"}, "base_path" : "48x48/911x911/2/7017086417221639803.webp?v=2", "original_size" : {"width" : 960, "height" : 1280}, "ordinal" : 1, "id" : "7017086417221639803", "crop_rect" : {"height" : 863, "y" : 48, "width" : 863, "x" : 48}, "caption" : "In june. On a boat!", "thumb_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/640x560/640x560/48x48/911x911/2/7017086417221639803.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/60x60/60x60/48x48/911x911/2/7017086417221639803.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/120x120/120x120/48x48/911x911/2/7017086417221639803.webp?v=2"}}, "state_name" : "Virginia", "age" : 25, "country_code" : "US", "friend" : 8000, "is_online" : 1, "username" : "Disclosure822", "city_name" : "Annandale", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436144138, "gender" : 2, "location" : {"postal_code" : "20735", "nameid" : 6883879, "display_state" : 1, "locid" : 4302797, "state_code" : "MD", "country_name" : "United States", "longitude" : -7690391, "popularity" : 125, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Clinton", "metro_area" : 8840, "latitude" : 3875657}, "userid" : "15025649042621626351", "match" : 8625, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/1500x1500/0/8839231348189475926.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/1500x1500/0/8839231348189475926.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/1500x1500/0/8839231348189475926.webp?v=2", "original" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/1500x1500/0/8839231348189475926.webp?v=2"}, "base_path" : "0x0/1500x1500/2/8839231348189475926.webp?v=2", "original_size" : {"width" : 1500, "height" : 1500}, "ordinal" : 0, "id" : "8839231348189475926", "crop_rect" : {"height" : 1500, "y" : 0, "width" : 1500, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/1500x1500/2/8839231348189475926.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/1500x1500/2/8839231348189475926.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/1500x1500/2/8839231348189475926.webp?v=2"}}, "state_name" : "Maryland", "age" : 28, "country_code" : "US", "friend" : 8000, "is_online" : 0, "username" : "KRose091186", "city_name" : "Clinton", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436033450, "gender" : 2, "location" : {"postal_code" : "", "nameid" : 6884195, "display_state" : 1, "locid" : 4303113, "state_code" : "MD", "country_name" : "United States", "longitude" : -7682053, "popularity" : 23, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Glenn Dale", "metro_area" : 8840, "latitude" : 3898761}, "userid" : "2540632247671010879", "match" : 8381, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/0x0/0/8142559039403204169.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/0x0/0/8142559039403204169.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/0x0/0/8142559039403204169.webp?v=2", "original" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/0x0/0/8142559039403204169.webp?v=2"}, "base_path" : "0x0/0x0/2/8142559039403204169.webp?v=2", "original_size" : {"width" : 960, "height" : 1280}, "ordinal" : 0, "id" : "8142559039403204169", "crop_rect" : {"height" : 0, "y" : 0, "width" : 0, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/0x0/2/8142559039403204169.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/0x0/2/8142559039403204169.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/0x0/2/8142559039403204169.webp?v=2"}}, "state_name" : "Maryland", "age" : 31, "country_code" : "US", "friend" : 7500, "is_online" : 0, "username" : "ZoeZoeGadget", "city_name" : "Glenn Dale", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1435891707, "gender" : 2, "location" : {"postal_code" : "22332", "nameid" : 6939517, "display_state" : 1, "locid" : 4357455, "state_code" : "VA", "country_name" : "United States", "longitude" : -7704730, "popularity" : 0, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Alexandria", "metro_area" : 8840, "latitude" : 3880520}, "userid" : "9830802554295150194", "match" : 8360, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x125/960x1086/0/4145673008626366009.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x125/960x1086/0/4145673008626366009.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x125/960x1086/0/4145673008626366009.webp?v=2", "original" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x125/960x1086/0/4145673008626366009.webp?v=2"}, "base_path" : "0x125/960x1086/2/4145673008626366009.webp?v=2", "original_size" : {"width" : 960, "height" : 1280}, "ordinal" : 0, "id" : "4145673008626366009", "crop_rect" : {"height" : 961, "y" : 125, "width" : 960, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x125/960x1086/2/4145673008626366009.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x125/960x1086/2/4145673008626366009.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x125/960x1086/2/4145673008626366009.webp?v=2"}}, "state_name" : "Virginia", "age" : 24, "country_code" : "US", "friend" : 5745, "is_online" : 0, "username" : "Emily_Sunshine09", "city_name" : "Alexandria", "stoplight_color" : "yellow", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436051554, "gender" : 2, "location" : {"postal_code" : "", "nameid" : 6938565, "display_state" : 1, "locid" : 4356602, "state_code" : "VA", "country_name" : "United States", "longitude" : -7731339, "popularity" : 0, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Fairfax", "metro_area" : 8840, "latitude" : 3884942}, "userid" : "12812573793410715855", "match" : 8300, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x57/771x829/0/2560733119694699222.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x57/771x829/0/2560733119694699222.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x57/771x829/0/2560733119694699222.webp?v=2", "original" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x57/771x829/0/2560733119694699222.webp?v=2"}, "base_path" : "0x57/771x829/2/2560733119694699222.webp?v=2", "original_size" : {"width" : 771, "height" : 889}, "ordinal" : 0, "id" : "2560733119694699222", "crop_rect" : {"height" : 772, "y" : 57, "width" : 771, "x" : 0}, "caption" : "Uploaded with the OkCupid iPhone app!", "thumb_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x57/771x829/2/2560733119694699222.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x57/771x829/2/2560733119694699222.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x57/771x829/2/2560733119694699222.webp?v=2"}}, "state_name" : "Virginia", "age" : 35, "country_code" : "US", "friend" : 6160, "is_online" : 0, "username" : "harley0102", "city_name" : "Fairfax", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436151716, "gender" : 2, "location" : {"postal_code" : "20816", "nameid" : 6879666, "display_state" : 1, "locid" : 4298584, "state_code" : "MD", "country_name" : "United States", "longitude" : -7710937, "popularity" : 973, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Bethesda", "metro_area" : 8840, "latitude" : 3899302}, "userid" : "12283520739162240191", "match" : 8250, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x189/1125x1314/0/15046504767931552780.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x189/1125x1314/0/15046504767931552780.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x189/1125x1314/0/15046504767931552780.webp?v=2", "original" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x189/1125x1314/0/15046504767931552780.webp?v=2"}, "base_path" : "0x189/1125x1314/2/15046504767931552780.webp?v=2", "original_size" : {"width" : 1125, "height" : 1500}, "ordinal" : 0, "id" : "15046504767931552780", "crop_rect" : {"height" : 1125, "y" : 189, "width" : 1125, "x" : 0}, "caption" : "Uploaded with the OkCupid iPhone app!", "thumb_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x189/1125x1314/2/15046504767931552780.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x189/1125x1314/2/15046504767931552780.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x189/1125x1314/2/15046504767931552780.webp?v=2"}}, "state_name" : "Maryland", "age" : 50, "country_code" : "US", "friend" : 6160, "is_online" : 0, "username" : "Lurdelovely", "city_name" : "Bethesda", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436098579, "gender" : 2, "location" : {"postal_code" : "", "nameid" : 6792853, "display_state" : 1, "locid" : 4211771, "state_code" : "VA", "country_name" : "United States", "longitude" : -7721120, "popularity" : 917, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Springfield", "metro_area" : 8840, "latitude" : 3878733}, "userid" : "103813887231870704", "match" : 8249, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/0x0/0/6067348433156201150.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/0x0/0/6067348433156201150.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/0x0/0/6067348433156201150.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/0x0/0/6067348433156201150.webp?v=2"}, "base_path" : "0x0/0x0/2/6067348433156201150.webp?v=2", "original_size" : {"width" : 720, "height" : 960}, "ordinal" : 0, "id" : "6067348433156201150", "crop_rect" : {"height" : 0, "y" : 0, "width" : 0, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/0x0/2/6067348433156201150.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/0x0/2/6067348433156201150.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/0x0/2/6067348433156201150.webp?v=2"}}, "state_name" : "Virginia", "age" : 43, "country_code" : "US", "friend" : 6160, "is_online" : 0, "username" : "stormyana", "city_name" : "Springfield", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 601083090, "last_login" : 1436149785, "gender" : 2, "location" : {"postal_code" : "20875", "nameid" : 6879832, "display_state" : 1, "locid" : 4298750, "state_code" : "MD", "country_name" : "United States", "longitude" : -7726065, "popularity" : 703, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Germantown", "metro_area" : 8840, "latitude" : 3917819}, "userid" : "9255385448722543163", "match" : 8114, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/59x45/677x663/0/5918557699691773518.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/59x45/677x663/0/5918557699691773518.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/59x45/677x663/0/5918557699691773518.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/59x45/677x663/0/5918557699691773518.webp?v=2"}, "base_path" : "59x45/677x663/2/5918557699691773518.webp?v=2", "original_size" : {"width" : 747, "height" : 1328}, "ordinal" : 0, "id" : "5918557699691773518", "crop_rect" : {"height" : 618, "y" : 45, "width" : 618, "x" : 59}, "caption" : "42nd birthday, July 5, 2015", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/59x45/677x663/2/5918557699691773518.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/59x45/677x663/2/5918557699691773518.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/59x45/677x663/2/5918557699691773518.webp?v=2"}}, "state_name" : "Maryland", "age" : 42, "country_code" : "US", "friend" : 7500, "is_online" : 0, "username" : "ninjadok1", "city_name" : "Germantown", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1435856929, "gender" : 2, "location" : {"postal_code" : "", "nameid" : 6793833, "display_state" : 1, "locid" : 4212751, "state_code" : "VA", "country_name" : "United States", "longitude" : -7738437, "popularity" : 784, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Herndon", "metro_area" : 8840, "latitude" : 3895737}, "userid" : "1108234740719238682", "match" : 8102, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x236/776x1012/0/7966997682884295097.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x236/776x1012/0/7966997682884295097.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x236/776x1012/0/7966997682884295097.webp?v=2", "original" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x236/776x1012/0/7966997682884295097.webp?v=2"}, "base_path" : "0x236/776x1012/2/7966997682884295097.webp?v=2", "original_size" : {"width" : 776, "height" : 1296}, "ordinal" : 0, "id" : "7966997682884295097", "crop_rect" : {"height" : 776, "y" : 236, "width" : 776, "x" : 0}, "caption" : "Uploaded with the OkCupid Android app!", "thumb_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x236/776x1012/2/7966997682884295097.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x236/776x1012/2/7966997682884295097.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x236/776x1012/2/7966997682884295097.webp?v=2"}}, "state_name" : "Virginia", "age" : 44, "country_code" : "US", "friend" : 6747, "is_online" : 0, "username" : "Adreez", "city_name" : "Herndon", "stoplight_color" : "yellow", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436148969, "gender" : 2, "location" : {"postal_code" : "20781", "nameid" : 6883983, "display_state" : 1, "locid" : 4302901, "state_code" : "MD", "country_name" : "United States", "longitude" : -7692828, "popularity" : 526, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Hyattsville", "metro_area" : 8840, "latitude" : 3894084}, "userid" : "10147374824388345544", "match" : 8086, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/640x560/50x0/949x898/0/2735966019650812349.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/60x60/50x0/949x898/0/2735966019650812349.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/120x120/50x0/949x898/0/2735966019650812349.webp?v=2", "original" : "http://k1.okccdn.com/php/load_okc_image.php/images/50x0/949x898/0/2735966019650812349.webp?v=2"}, "base_path" : "50x0/949x898/2/2735966019650812349.webp?v=2", "original_size" : {"width" : 960, "height" : 1280}, "ordinal" : 0, "id" : "2735966019650812349", "crop_rect" : {"height" : 898, "y" : 0, "width" : 899, "x" : 50}, "caption" : "", "thumb_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/640x560/640x560/50x0/949x898/2/2735966019650812349.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/60x60/60x60/50x0/949x898/2/2735966019650812349.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/120x120/120x120/50x0/949x898/2/2735966019650812349.webp?v=2"}}, "state_name" : "Maryland", "age" : 35, "country_code" : "US", "friend" : 6834, "is_online" : 0, "username" : "sweetsweethaze", "city_name" : "Hyattsville", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 1741280848, "last_login" : 1436153558, "gender" : 2, "location" : {"postal_code" : "22203", "nameid" : 6828308, "display_state" : 1, "locid" : 4247226, "state_code" : "VA", "country_name" : "United States", "longitude" : -7711568, "popularity" : 4043, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Arlington", "metro_area" : 8840, "latitude" : 3887229}, "userid" : "10866784977629089191", "match" : 8045, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/640x560/344x78/780x514/0/5725193831961183554.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/60x60/344x78/780x514/0/5725193831961183554.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/120x120/344x78/780x514/0/5725193831961183554.webp?v=2", "original" : "http://k2.okccdn.com/php/load_okc_image.php/images/344x78/780x514/0/5725193831961183554.webp?v=2"}, "base_path" : "344x78/780x514/2/5725193831961183554.webp?v=2", "original_size" : {"width" : 802, "height" : 545}, "ordinal" : 0, "id" : "5725193831961183554", "crop_rect" : {"height" : 436, "y" : 78, "width" : 436, "x" : 344}, "caption" : "Uploaded with the OkCupid Android app!", "thumb_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/640x560/640x560/344x78/780x514/2/5725193831961183554.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/60x60/60x60/344x78/780x514/2/5725193831961183554.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/120x120/120x120/344x78/780x514/2/5725193831961183554.webp?v=2"}}, "state_name" : "Virginia", "age" : 34, "country_code" : "US", "friend" : 6666, "is_online" : 0, "username" : "lahame", "city_name" : "Arlington", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436153167, "gender" : 2, "location" : {"postal_code" : "20604", "nameid" : 6880187, "display_state" : 1, "locid" : 4299105, "state_code" : "MD", "country_name" : "United States", "longitude" : -7693938, "popularity" : 512, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Waldorf", "metro_area" : 8840, "latitude" : 3862440}, "userid" : "2609374938422210896", "match" : 8045, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/1392x1392/0/4656215292462383236.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/1392x1392/0/4656215292462383236.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/1392x1392/0/4656215292462383236.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/1392x1392/0/4656215292462383236.webp?v=2"}, "base_path" : "0x0/1392x1392/2/4656215292462383236.webp?v=2", "original_size" : {"width" : 1392, "height" : 1392}, "ordinal" : 0, "id" : "4656215292462383236", "crop_rect" : {"height" : 1392, "y" : 0, "width" : 1392, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/1392x1392/2/4656215292462383236.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/1392x1392/2/4656215292462383236.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/1392x1392/2/4656215292462383236.webp?v=2"}}, "state_name" : "Maryland", "age" : 22, "country_code" : "US", "friend" : 6666, "is_online" : 0, "username" : "TheSweetTone", "city_name" : "Waldorf", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436027834, "gender" : 2, "location" : {"postal_code" : "20785", "nameid" : 6883983, "display_state" : 1, "locid" : 4302901, "state_code" : "MD", "country_name" : "United States", "longitude" : -7688394, "popularity" : 526, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Hyattsville", "metro_area" : 8840, "latitude" : 3891710}, "userid" : "8469165045697787554", "match" : 7968, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/1024x1024/0/3022067155414265468.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/1024x1024/0/3022067155414265468.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/1024x1024/0/3022067155414265468.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/1024x1024/0/3022067155414265468.webp?v=2"}, "base_path" : "0x0/1024x1024/2/3022067155414265468.webp?v=2", "original_size" : {"width" : 1024, "height" : 1024}, "ordinal" : 0, "id" : "3022067155414265468", "crop_rect" : {"height" : 1024, "y" : 0, "width" : 1024, "x" : 0}, "caption" : "", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/1024x1024/2/3022067155414265468.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/1024x1024/2/3022067155414265468.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/1024x1024/2/3022067155414265468.webp?v=2"}}, "state_name" : "Maryland", "age" : 30, "country_code" : "US", "friend" : 7500, "is_online" : 0, "username" : "Evolving_Beauti", "city_name" : "Hyattsville", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1436156989, "gender" : 2, "location" : {"postal_code" : "22204", "nameid" : 6828308, "display_state" : 1, "locid" : 4247226, "state_code" : "VA", "country_name" : "United States", "longitude" : -7710276, "popularity" : 4043, "state_name" : "Virginia", "country_code" : "US", "city_name" : "Arlington", "metro_area" : 8840, "latitude" : 3886092}, "userid" : "18062517019015783314", "match" : 7947, "gender_tags" : [], "liked" : false, "state_code" : "VA", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/500x500/0/4885107389959840688.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/500x500/0/4885107389959840688.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/500x500/0/4885107389959840688.webp?v=2", "original" : "http://k3.okccdn.com/php/load_okc_image.php/images/0x0/500x500/0/4885107389959840688.webp?v=2"}, "base_path" : "0x0/500x500/2/4885107389959840688.webp?v=2", "original_size" : {"width" : 500, "height" : 500}, "ordinal" : 0, "id" : "4885107389959840688", "crop_rect" : {"height" : 500, "y" : 0, "width" : 500, "x" : 0}, "caption" : "New hair cut with bangs! 4/15", "thumb_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/500x500/2/4885107389959840688.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/500x500/2/4885107389959840688.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/500x500/2/4885107389959840688.webp?v=2"}}, "state_name" : "Virginia", "age" : 32, "country_code" : "US", "friend" : 4324, "is_online" : 1, "username" : "balancedbiotch", "city_name" : "Arlington", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 3235642463, "last_login" : 1435719825, "gender" : 2, "location" : {"postal_code" : "20009", "nameid" : 6938605, "display_state" : 1, "locid" : 4356642, "state_code" : "DC", "country_name" : "United States", "longitude" : -7703856, "popularity" : 0, "state_name" : "District of Columbia", "country_code" : "US", "city_name" : "Washington", "metro_area" : 47900, "latitude" : 3892039}, "userid" : "13891515921149383908", "match" : 7919, "gender_tags" : [], "liked" : false, "state_code" : "DC", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x3/1098x1101/0/127491288824354436.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x3/1098x1101/0/127491288824354436.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x3/1098x1101/0/127491288824354436.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x3/1098x1101/0/127491288824354436.webp?v=2"}, "base_path" : "0x3/1098x1101/2/127491288824354436.webp?v=2", "original_size" : {"width" : 1500, "height" : 1125}, "ordinal" : 0, "id" : "127491288824354436", "crop_rect" : {"height" : 1098, "y" : 3, "width" : 1098, "x" : 0}, "caption" : "just outside the oceanarium near lisbon, right after seeing a huge apartment building burn to the ground. weird day. lisbon remains one of my favorite cities despite all this. ", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x3/1098x1101/2/127491288824354436.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x3/1098x1101/2/127491288824354436.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x3/1098x1101/2/127491288824354436.webp?v=2"}}, "state_name" : "District of Columbia", "age" : 35, "country_code" : "US", "friend" : 6666, "is_online" : 0, "username" : "aboutit", "city_name" : "Washington", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1435940298, "gender" : 2, "location" : {"postal_code" : "20001", "nameid" : 6939954, "display_state" : 1, "locid" : 4357892, "state_code" : "DC", "country_name" : "United States", "longitude" : -7701666, "popularity" : 0, "state_name" : "District of Columbia", "country_code" : "US", "city_name" : "Washington", "metro_area" : 8840, "latitude" : 3891072}, "userid" : "6410418728363670000", "match" : 7917, "gender_tags" : [], "liked" : false, "state_code" : "DC", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/640x560/104x9/550x455/0/13795356766079614344.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/60x60/104x9/550x455/0/13795356766079614344.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/120x120/104x9/550x455/0/13795356766079614344.webp?v=2", "original" : "http://k1.okccdn.com/php/load_okc_image.php/images/104x9/550x455/0/13795356766079614344.webp?v=2"}, "base_path" : "104x9/550x455/2/13795356766079614344.webp?v=2", "original_size" : {"width" : 640, "height" : 480}, "ordinal" : 0, "id" : "13795356766079614344", "crop_rect" : {"height" : 446, "y" : 9, "width" : 446, "x" : 104}, "caption" : "", "thumb_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/640x560/640x560/104x9/550x455/2/13795356766079614344.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/60x60/60x60/104x9/550x455/2/13795356766079614344.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/120x120/120x120/104x9/550x455/2/13795356766079614344.webp?v=2"}}, "state_name" : "District of Columbia", "age" : 31, "country_code" : "US", "friend" : 4571, "is_online" : 0, "username" : "eblueiye", "city_name" : "Washington", "stoplight_color" : "green", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 0, "last_login" : 1436136894, "gender" : 2, "location" : {"postal_code" : "20879", "nameid" : 6882940, "display_state" : 1, "locid" : 4301858, "state_code" : "MD", "country_name" : "United States", "longitude" : -7719018, "popularity" : 1102, "state_name" : "Maryland", "country_code" : "US", "city_name" : "Gaithersburg", "metro_area" : 8840, "latitude" : 3917598}, "userid" : "11077521167708532704", "match" : 7909, "gender_tags" : [], "liked" : false, "state_code" : "MD", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/640x560/37x18/686x668/0/8453871174301673182.webp?v=2", "small" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/60x60/37x18/686x668/0/8453871174301673182.webp?v=2", "medium" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/120x120/37x18/686x668/0/8453871174301673182.webp?v=2", "original" : "http://k1.okccdn.com/php/load_okc_image.php/images/37x18/686x668/0/8453871174301673182.webp?v=2"}, "base_path" : "37x18/686x668/2/8453871174301673182.webp?v=2", "original_size" : {"width" : 720, "height" : 960}, "ordinal" : 0, "id" : "8453871174301673182", "crop_rect" : {"height" : 650, "y" : 18, "width" : 649, "x" : 37}, "caption" : "2015-06", "thumb_paths" : {"large" : "http://k3.okccdn.com/php/load_okc_image.php/images/640x560/640x560/37x18/686x668/2/8453871174301673182.webp?v=2", "small" : "http://k3.okccdn.com/php/load_okc_image.php/images/60x60/60x60/37x18/686x668/2/8453871174301673182.webp?v=2", "medium" : "http://k3.okccdn.com/php/load_okc_image.php/images/120x120/120x120/37x18/686x668/2/8453871174301673182.webp?v=2"}}, "state_name" : "Maryland", "age" : 29, "country_code" : "US", "friend" : 6000, "is_online" : 0, "username" : "AshleyCatz", "city_name" : "Gaithersburg", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}, {"enemy" : 0, "relative" : 50, "last_login" : 1435949952, "gender" : 2, "location" : {"postal_code" : "20009", "nameid" : 6939954, "display_state" : 1, "locid" : 4357892, "state_code" : "DC", "country_name" : "United States", "longitude" : -7703856, "popularity" : 0, "state_name" : "District of Columbia", "country_code" : "US", "city_name" : "Washington", "metro_area" : 8840, "latitude" : 3892039}, "userid" : "6207825626415646688", "match" : 7887, "gender_tags" : [], "liked" : false, "state_code" : "DC", "orientation" : 1, "country_name" : "United States", "photo" : {"full_paths" : {"large" : "http://k1.okccdn.com/php/load_okc_image.php/images/0x0/640x560/0x0/546x642/0/4830500239842990587.webp?v=2", "small" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/60x60/0x0/546x642/0/4830500239842990587.webp?v=2", "medium" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/120x120/0x0/546x642/0/4830500239842990587.webp?v=2", "original" : "http://k0.okccdn.com/php/load_okc_image.php/images/0x0/546x642/0/4830500239842990587.webp?v=2"}, "base_path" : "0x0/546x642/2/4830500239842990587.webp?v=2", "original_size" : {"width" : 546, "height" : 642}, "ordinal" : 0, "id" : "4830500239842990587", "crop_rect" : {"height" : 642, "y" : 0, "width" : 546, "x" : 0}, "caption" : "At a market in Brazil.", "thumb_paths" : {"large" : "http://k2.okccdn.com/php/load_okc_image.php/images/640x560/640x560/0x0/546x642/2/4830500239842990587.webp?v=2", "small" : "http://k2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x0/546x642/2/4830500239842990587.webp?v=2", "medium" : "http://k2.okccdn.com/php/load_okc_image.php/images/120x120/120x120/0x0/546x642/2/4830500239842990587.webp?v=2"}}, "state_name" : "District of Columbia", "age" : 37, "country_code" : "US", "friend" : 6000, "is_online" : 0, "username" : "beachmountain77", "city_name" : "Washington", "stoplight_color" : "red", "last_contact_time" : [0, 0], "orientation_tags" : []}], "paging" : {"cursors" : {"before" : "MTYyNDkxMDA0OTY1ODAxNDcxNjIsMCwxOA==", "current" : "MTYyNDkxMDA0OTY1ODAxNDcxNjIsMCwxOA==", "after" : "MTYyNDkxMDA0OTY1ODAxNDcxNjIsMTgsMTg="}}}]}]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\n\n\t// \n\t! function checkLocalStorage() {\n\t\tvar test, isSampled, browser;\n\t\tif (typeof(ClientStats) == "undefined" || typeof(BrowserDetect) == "undefined") {\n\t\t\treturn;\n\t\t}\n\n\t\ttest = "test";\n\t\tisSampled = Math.floor(Math.random() * 100) == 1;\n\t\tbrowser = BrowserDetect.browser;\n\n\t\tif (browser && isSampled) {\n\t\t\tClientStats.update("desktop - local storage - browser:" + browser + " - status:any");\n\t\t}\n\n\t\ttry {\n\t\t\tlocalStorage.setItem(test, test);\n\t\t\tlocalStorage.removeItem(test);\n\t\t} catch(e) {\n\t\t\tClientStats.update("desktop - local storage failed - page views");\n\n\t\t\tif (browser) {\n\t\t\t\tClientStats.update("desktop - local storage failed - browser:" + browser + " - page views");\n\t\t\t}\n\t\t\tif (browser && isSampled) {\n\t\t\t\tClientStats.update("desktop - local storage - browser:" + browser + " - status:failure");\n\t\t\t}\n\t\t}\n\t}();\n\n\tutil.stopTimer("body-load");\n\tutil.executeDomLoad();\n\n\t\n\n\t\n</script> <div id="search-overlay-templates class="hidden"> <div id="search_overlay_authcode" class="hidden">1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd <script type="text/template" class="search_overlay_template">\n\t\t<div id="search_overlay_wrapper" class="opensans">\n\t\t\t<div class="search_overlay_section_wrapper content">\n\t\t\t\t<div class="search_overlay_content header">\n\t\t\t\t\t<span class="icon i-magnifier">\n\t\t\t\t\t<input type="text" placeholder="Search by username or interest" class="opensans" />\n\t\t\t\t\n\t\t\t\t<div class="search_overlay_content results clearfix">\n\t\t\t\t\t<div class="column interests">\n\t\t\t\t\t\t<h2 class="interests_header">Interests\n\t\t\t\t\t\t<ul class="search_result_list">\n\t\t\t\t\t\n\t\t\t\t\t<div class="column people">\n\t\t\t\t\t\t<h2 class="people_header">Usernames\n\t\t\t\t\t\t<ul class="search_result_list">\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t<a href="#" id="close_search_overlay">\n\t\t\t\t<span class="icon i-close">\n\t\t\t\n\t\t\t<div class="loader">\n\t\t\n\t</script> <script type="text/template" class="search_overlay_person_link">\n\t\t
  • \n\t\t\t<a href="/profile/<%= person.username %>?cf=search_overlay" class="user_row_item person_link">\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td class="user_info">\n\t\t\t\t\t\t\t<p class="user_name">\n\t\t\t\t\t\t\t\t<% secondHalf = person.username.substr(searchTerm.length) %>\n\t\t\t\t\t\t\t\t<% regex = new RegExp(secondHalf + "$") %>\n\t\t\t\t\t\t\t\t<span class="highlight"><%= person.username.replace(regex, '') %>\n\t\t\t\t\t\t\t\t<%= secondHalf %>\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t<p class="details"><%= person.details %>

    \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\t\t<img src="<%= person.image %>" class="user_image <%= person.image_class %>" width="82" height="82" alt="An image of <%= person.username %>" />\n\t\t\t\t\t\t
    \n\t\t\t\n\t\t
  • \n\t</script> <script type="text/template" class="search_overlay_no_results">\n\t\t
  • \n\t\t\t<span class="no_results">No results found\n\t\t
  • \n\t</script> <script type="text/template" class="search_overlay_interest_link">\n\t\t
  • \n\t\t\t<a href="/match?add_interest=<%= interest.id %>" data-id="<%= interest.id %>" class="interest_link">\n\t\t\t\t<span class="interest_name"><%= interest.name %>\n\t\t\t\t<span class="interest_count">\n\t\t\t\t\t<%= interest.num_users_commafied %>\n\t\t\t\t\t <% if (interest.num_users == 1) { %>person<% } else { %>people<% } %>\n\t\t\t\t\n\t\t\t\n\t\t
  • \n\t</script> <script type="text/template" class="search_overlay_view_all_people">\n\t\t
  • \n\t\t\t<a href="/match?add_username=<%= username %>" class="view_all_people" data-search="<%= username %>">View all matches\n\t\t
  • \n\t</script> "}
    Traceback (most recent call last):
    File "okc.py", line 11, in
    for profile in profiles[:10]:
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 192, in getitem
    return self._handle_slice(item)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 218, in _handle_slice
    value = next(iterator)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 164, in _make_nice_repr_iterator
    for item in original_iterable:
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 282, in fetch
    text_response = self._fetcher.fetch(start_at=pos)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/search.py", line 281, in fetch
    search_html = response.json()['html']
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/models.py", line 802, in json
    return json.loads(self.text, **kwargs)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/init.py", line 505, in loads
    return _default_decoder.decode(s)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
    File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
    simplejson.scanner.JSONDecodeError: Expecting value: line 3 column 1 (char 3)

    @mosesmc52
    Copy link
    Author

    Hi Ivan,

    Do you have any clue why the library is not work?

    Thanks,

    Moses

    @colonelpanic8
    Copy link
    Owner

    it has something to do with your account. doesn't happen on any of my accounts. Are you sure you've gone through all the confirmation steps?

    @mosesmc52
    Copy link
    Author

    It's unusual issue. I'm don't understand. I searched the settings and couldn't find any issues.

    Anyway, I created another account now everything works fine.

    @colonelpanic8
    Copy link
    Owner

    huh that is bizarre. Not sure why that happened. I also checked it myself on my machines and it happened for me as well.

    @mosesmc52
    Copy link
    Author

    The only difference I noticed the new account has a different search interface. I'm not sure if that change contributes to the problems with the okcupyd library failing, because I assume the okcupid API remains the same.

    @colonelpanic8
    Copy link
    Owner

    oh that would probably do it.

    okcupid does not have an api. This library works by sort of parsing the html returned by okcupid

    @colonelpanic8
    Copy link
    Owner

    @mosesmc52 Other people are now reporting this issue. Take a look at #63 . I'm going to look in to this more deeply now.

    @colonelpanic8
    Copy link
    Owner

    Hey @mosesmc52 Just thought I'd let you know that this issue has now been resolved in the new alpha version of okcupyd.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants