<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>264091</bug_id>
          
          <creation_ts>2011-01-23 16:53:16 +0000</creation_ts>
          <short_desc>Twitter API v1.1 should be used in twitter plugin for timelines and search</short_desc>
          <delta_ts>2014-12-13 15:51:39 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>choqok</product>
          <component>general</component>
          <version>0.9.98 (1.0 RC1)</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>VHI</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>1.4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="robert marshall">robert</reporter>
          <assigned_to name="Daniel Kreuter">daniel.kreuter85</assigned_to>
          <cc>adaptee</cc>
    
    <cc>adrian</cc>
    
    <cc>asoliverez</cc>
    
    <cc>aspotashev</cc>
    
    <cc>brashley46</cc>
    
    <cc>bugzilla</cc>
    
    <cc>c.kdebugs01</cc>
    
    <cc>cfillion30</cc>
    
    <cc>chgonzalezg</cc>
    
    <cc>clickwir631</cc>
    
    <cc>daniel.kreuter85</cc>
    
    <cc>dmk</cc>
    
    <cc>filipe</cc>
    
    <cc>fisiu82</cc>
    
    <cc>george.labuschagne</cc>
    
    <cc>info</cc>
    
    <cc>j.maceachern</cc>
    
    <cc>jessie</cc>
    
    <cc>jlp</cc>
    
    <cc>johu</cc>
    
    <cc>jsseabold</cc>
    
    <cc>kde.z.ecognito</cc>
    
    <cc>laurent.rineau</cc>
    
    <cc>lydia</cc>
    
    <cc>madgenius</cc>
    
    <cc>Mathias.Homann</cc>
    
    <cc>mbensi</cc>
    
    <cc>mehrdad.momeny</cc>
    
    <cc>mfraz74+kde</cc>
    
    <cc>michael</cc>
    
    <cc>pfoo</cc>
    
    <cc>rasasi78</cc>
    
    <cc>rdieter</cc>
    
    <cc>rodrigoaguileraparraga</cc>
    
    <cc>ry</cc>
    
    <cc>scarpino</cc>
    
    <cc>stupor_scurvy343</cc>
    
    <cc>tati.geekgirl</cc>
    
    <cc>TheCrasher</cc>
    
    <cc>tuxmal</cc>
          
          <cf_commitlink>http://commits.kde.org/choqok/44beb0bcc678a9d053f48d487ef53752f9dddb27</cf_commitlink>
          <cf_versionfixedin>1.4</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>121</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1077641</commentid>
    <comment_count>0</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2011-01-23 16:53:16 +0000</bug_when>
    <thetext>Version:           0.9.98 (1.0 RC1) (using KDE 4.4.5) 
OS:                Linux

If a user has protected their tweets - not from you! - and you you try the option &apos;Posts from x&apos; when clicking on their name in one of their tweets you get the message &apos;The search result is empty&apos;

Reproducible: Always

Steps to Reproduce:
as above

Actual Results:  
popup message as described

Expected Results:  
expect to get a new timeline of that user&apos;s tweets</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077754</commentid>
    <comment_count>1</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2011-01-23 19:34:35 +0000</bug_when>
    <thetext>It would appear to also happen for some users who don&apos;t protect their tweets. I&apos;m getting the error consistently for
UKOrdinariate and
goodinparts

the first doesn&apos;t protect their tweets (and I don&apos;t follow)
the second does protect (and I do follow!) when I try to view their timelines.
Could it be a twitter problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078359</commentid>
    <comment_count>2</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2011-01-25 06:20:29 +0000</bug_when>
    <thetext>Check this out:
https://search.twitter.com/search.atom?q=from:UKOrdinariate

Twitter response is empty! Don&apos;t know why!? :/

For protected user, this is the Twitter search API that do not support/accept authentication!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078386</commentid>
    <comment_count>3</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2011-01-25 08:52:25 +0000</bug_when>
    <thetext>Yes i see the empty return with the other user too! Very odd!
Yet hotot manages to display the timeline ok, is that application doing things differently?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302141</commentid>
    <comment_count>4</comment_count>
    <who name="Adrián Chaves (Gallaecio)">adrian</who>
    <bug_when>2012-10-02 06:35:49 +0000</bug_when>
    <thetext>Does this still happen with a newer version of Choqok? Could this be considered a flaw in Twitter’s Search API, or is it Choqok’s fault for not using a different API that does allow this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307935</commentid>
    <comment_count>5</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2012-10-21 15:02:53 +0000</bug_when>
    <thetext>I&apos;m still seeing the protected user returning no tweets on a search (but ok with the other user I suggested). Sorry I don&apos;t know enough about the twitter API to respond to those other questions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375646</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-10 17:01:11 +0000</bug_when>
    <thetext>Is this bug still valid? If I click on the link of comment #2 I get a list of tweets of that user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375761</commentid>
    <comment_count>7</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-11 01:28:12 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; Is this bug still valid? If I click on the link of comment #2 I get a list
&gt; of tweets of that user.

Actually the main problem was because Twitter&apos;s search API v1 didn&apos;t accept authentication, but as I found in v1.1 it accepts. So we need to implement that v1.1 api
checkout bug 320826</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375821</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-11 08:43:50 +0000</bug_when>
    <thetext>We should do the switch to the new a pi version fast because the retirement date of v1 is schedui
end for today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375823</commentid>
    <comment_count>9</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-11 08:47:46 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; We should do the switch to the new a pi version fast because the retirement
&gt; date of v1 is schedui
&gt; end for today.

Yes, and we will have a release once this bug fixed :D
Do you have time to do it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376067</commentid>
    <comment_count>10</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-12 06:11:43 +0000</bug_when>
    <thetext>*** Bug 320826 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376070</commentid>
    <comment_count>11</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-12 06:24:20 +0000</bug_when>
    <thetext>Due to twitter API changes, we need to upgrade api usage in twitter plugin to use API v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376072</commentid>
    <comment_count>12</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-12 06:25:30 +0000</bug_when>
    <thetext>*** Bug 321049 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376103</commentid>
    <comment_count>13</comment_count>
    <who name="Shlomi Fish">shlomif</who>
    <bug_when>2013-06-12 09:00:51 +0000</bug_when>
    <thetext>Adding myself to the CC list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376108</commentid>
    <comment_count>14</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-12 09:08:41 +0000</bug_when>
    <thetext>*** Bug 321056 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376113</commentid>
    <comment_count>15</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-12 09:29:36 +0000</bug_when>
    <thetext>*** Bug 321057 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376170</commentid>
    <comment_count>16</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2013-06-12 13:12:16 +0000</bug_when>
    <thetext>*** Bug 321058 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376292</commentid>
    <comment_count>17</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-13 02:06:52 +0000</bug_when>
    <thetext>*** Bug 321069 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376313</commentid>
    <comment_count>18</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-13 06:58:15 +0000</bug_when>
    <thetext>api obviously needs update ... how soon?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376317</commentid>
    <comment_count>19</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-13 07:06:36 +0000</bug_when>
    <thetext>*** Bug 321088 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376411</commentid>
    <comment_count>20</comment_count>
    <who name="Jessie A. Morris">jessie</who>
    <bug_when>2013-06-13 15:21:01 +0000</bug_when>
    <thetext>I might take an attempt at this later today. I use Choqok and not having V1.1 support is killing me.

We already have OAuth implemented, so this should (knock on wood) be an easy migration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376418</commentid>
    <comment_count>21</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-13 15:56:33 +0000</bug_when>
    <thetext>Hi Jessie,

would be nice if you can help me.

What is needed to be done:
- Remove all XML stuff from the twitter api, because only json is supported
- make sure that every call to twitter is done using oauth, because now it&apos;s mandatory so we can remove the option to switch that on by the user

I&apos;m working on the first item at the moment and hope to get timelines working quite soon to see some progress.

So long</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376527</commentid>
    <comment_count>22</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-14 02:22:57 +0000</bug_when>
    <thetext>(In reply to comment #21)
&gt; Hi Jessie,
&gt; 
&gt; would be nice if you can help me.
&gt; 
&gt; What is needed to be done:
&gt; - Remove all XML stuff from the twitter api, because only json is supported
&gt; - make sure that every call to twitter is done using oauth, because now it&apos;s
&gt; mandatory so we can remove the option to switch that on by the user
&gt; 
&gt; I&apos;m working on the first item at the moment and hope to get timelines
&gt; working quite soon to see some progress.
&gt; 
&gt; So long

Good job Daniel,
Just don&apos;t forget to check if those codes (you are removing) aren&apos;t being used in StatusNet plugin ;)
TwitterApiHelper is a shared lib between twitter and StatusNet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376539</commentid>
    <comment_count>23</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-14 06:08:44 +0000</bug_when>
    <thetext>
&gt; Good job Daniel,
&gt; Just don&apos;t forget to check if those codes (you are removing) aren&apos;t being
&gt; used in StatusNet plugin ;)
&gt; TwitterApiHelper is a shared lib between twitter and StatusNet

Yeah some of these methods are used in StatusNet as well. I will check if we can switch to JSON in StatusNet as well so we will have only one api to maintain.

By the way I have timeline working now, but only if you click on the Update Timeline button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376562</commentid>
    <comment_count>24</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-14 08:56:19 +0000</bug_when>
    <thetext>*** Bug 321137 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376584</commentid>
    <comment_count>25</comment_count>
    <who name="Mario Bensi">mbensi</who>
    <bug_when>2013-06-14 12:10:23 +0000</bug_when>
    <thetext>Any chances you could push in branch or something like that ? 
To test and to help you if i can.
I&apos;m probably not alone to be curious about your work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376585</commentid>
    <comment_count>26</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-14 12:18:50 +0000</bug_when>
    <thetext>(In reply to comment #25)
&gt; Any chances you could push in branch or something like that ? 
&gt; To test and to help you if i can.
&gt; I&apos;m probably not alone to be curious about your work.

If I had an developer account for KDE, then I could do that. Maybe I can push my changes to github instead or someone else push them to KDE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376601</commentid>
    <comment_count>27</comment_count>
    <who name="Alvaro Soliverez">asoliverez</who>
    <bug_when>2013-06-14 13:15:34 +0000</bug_when>
    <thetext>You could push it to github so we can test it from there. In the meantime, the project admin requests a KDE dev account for you, which shouldn&apos;t take long if everything is in order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376612</commentid>
    <comment_count>28</comment_count>
    <who name="Jessie Morris">jessie</who>
    <bug_when>2013-06-14 13:57:23 +0000</bug_when>
    <thetext>By the way, hi128_choqok-offline.PNG isn&apos;t in the repo. Would someone that has the correct version put it in there?

Alvaro Soliverez &lt;asoliverez@kde.org&gt; wrote:

&gt;https://bugs.kde.org/show_bug.cgi?id=264091
&gt;
&gt;--- Comment #27 from Alvaro Soliverez &lt;asoliverez@kde.org&gt; ---
&gt;You could push it to github so we can test it from there. In the meantime, the
&gt;project admin requests a KDE dev account for you, which shouldn&apos;t take long if
&gt;everything is in order.
&gt;
&gt;-- 
&gt;You are receiving this mail because:
&gt;You are on the CC list for the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376647</commentid>
    <comment_count>29</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-14 17:46:52 +0000</bug_when>
    <thetext>Hi,

I pushed my changes to git@github.com:xardas008/choqok_de.git so you can test and help me out a bit.
What works:
- Timelines (only via manuel update)
- Writing Tweets
- Reply
- Retweet

What doesn&apos;t work:
- Search

What needs to be tested:
- Identi.ca (I have no time until monday and no identi.ca account to test with)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376765</commentid>
    <comment_count>30</comment_count>
    <who name="Mark Fraser">mfraz74+kde</who>
    <bug_when>2013-06-15 13:11:46 +0000</bug_when>
    <thetext>Successfully installed Choqok from git and it seems to be working OK so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376803</commentid>
    <comment_count>31</comment_count>
    <who name="Mark Fraser">mfraz74+kde</who>
    <bug_when>2013-06-15 14:47:48 +0000</bug_when>
    <thetext>Auto updates are working for me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376825</commentid>
    <comment_count>32</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2013-06-15 15:26:45 +0000</bug_when>
    <thetext>I&apos;ve built an openSUSE package from git,
1-click-install for openSUSE 12.2 is here:
http://software.opensuse.org/ymp/home:lemmy04/openSUSE_12.2/choqok.ymp?base=openSUSE%3A12.2&amp;query=choqok

It&apos;s been built against KDE 4.10 so you&apos;ll also need that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376840</commentid>
    <comment_count>33</comment_count>
    <who name="pfoo">pfoo</who>
    <bug_when>2013-06-15 16:22:56 +0000</bug_when>
    <thetext>working great so far on kubuntu / kde 4.10.4

However, it seems like identiti.ca is switching from StatusNet to pumpio (http://identi.ca/doc/pumpio) which also has a different API ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376885</commentid>
    <comment_count>34</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-15 19:49:53 +0000</bug_when>
    <thetext>On 13-06-15 12:22 PM, pfoo@csnu.org wrote:
&gt; https://bugs.kde.org/show_bug.cgi?id=264091
&gt;
&gt; --- Comment #33 from pfoo@csnu.org ---
&gt; working great so far on kubuntu / kde 4.10.4
&gt;
&gt; However, it seems like identiti.ca is switching from StatusNet to pumpio
&gt; (http://identi.ca/doc/pumpio) which also has a different API ...
&gt;
Also true. And when will a .deb be ready for installation in Ubuntu?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376886</commentid>
    <comment_count>35</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-15 19:52:52 +0000</bug_when>
    <thetext>Should ave said Xubuntu</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376893</commentid>
    <comment_count>36</comment_count>
      <attachid>80541</attachid>
    <who name="Mario Bensi">mbensi</who>
    <bug_when>2013-06-15 20:28:50 +0000</bug_when>
    <thetext>Created attachment 80541
Fix direct_message sent api for twitter and fix uri for identi.ca

Thanks for your implementation of twitter 1.1.

I sent to you a patch to fix direct_message sent api for twitter and fix uri for identi.ca (before switch to pump.io).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376898</commentid>
    <comment_count>37</comment_count>
    <who name="Vasileios P. Lourdas">bugzilla</who>
    <bug_when>2013-06-15 20:35:24 +0000</bug_when>
    <thetext>When should we expect a new version (maybe 1.4) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376920</commentid>
    <comment_count>38</comment_count>
      <attachid>80543</attachid>
    <who name="Mario Bensi">mbensi</who>
    <bug_when>2013-06-15 22:34:50 +0000</bug_when>
    <thetext>Created attachment 80543
Fix twitter search</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377002</commentid>
    <comment_count>39</comment_count>
    <who name="pfoo">pfoo</who>
    <bug_when>2013-06-16 06:59:22 +0000</bug_when>
    <thetext>For people running *ubuntu (and other debian-based distributions), I&apos;ve just uploaded a .deb package of the current git tree adding support for API 1.1

AMD64 build : https://launchpad.net/~pfoo/+archive/choqok/+build/4717889/+files/choqok_1.4-0ubuntu0_amd64.deb
i386 build : https://launchpad.net/~pfoo/+archive/choqok/+build/4717890/+files/choqok_1.4-0ubuntu0_i386.deb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377003</commentid>
    <comment_count>40</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-16 07:19:28 +0000</bug_when>
    <thetext>thanks, pfoo, I shall try it tomorrow!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377048</commentid>
    <comment_count>41</comment_count>
    <who name="Daniel Duris">kdebugs</who>
    <bug_when>2013-06-16 11:37:33 +0000</bug_when>
    <thetext>it works wonderfully with new API, thank you very much!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377073</commentid>
    <comment_count>42</comment_count>
      <attachid>80553</attachid>
    <who name="Daniel Dewald">TheCrasher</who>
    <bug_when>2013-06-16 14:02:08 +0000</bug_when>
    <thetext>Created attachment 80553
Gentoo patch from git

Made a little something for you gentoo guys out there. Just use the layman kde overlay choqok-9999 ebuild, put that patch into /etc/portage/patches/net-im/choqok and rebuild choqok to get your timeline back. Thx guys for the quick changes. Hope they&apos;ll be in the official trunk soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377104</commentid>
    <comment_count>43</comment_count>
    <who name="Vasileios P. Lourdas">bugzilla</who>
    <bug_when>2013-06-16 16:04:21 +0000</bug_when>
    <thetext>(In reply to comment #42)
&gt; Made a little something for you gentoo guys out there. Just use the layman
&gt; kde overlay choqok-9999 ebuild, put that patch into
&gt; /etc/portage/patches/net-im/choqok and rebuild choqok to get your timeline
&gt; back. Thx guys for the quick changes. Hope they&apos;ll be in the official trunk
&gt; soon.

Thanks! It seems to work fine, although it needs more work (search by hashtags does not work). Automatic timeline update also seems to work fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377106</commentid>
    <comment_count>44</comment_count>
    <who name="Daniel Dewald">TheCrasher</who>
    <bug_when>2013-06-16 16:14:11 +0000</bug_when>
    <thetext>(In reply to comment #43)
&gt; (In reply to comment #42)
&gt; &gt; Made a little something for you gentoo guys out there. Just use the layman
&gt; &gt; kde overlay choqok-9999 ebuild, put that patch into
&gt; &gt; /etc/portage/patches/net-im/choqok and rebuild choqok to get your timeline
&gt; &gt; back. Thx guys for the quick changes. Hope they&apos;ll be in the official trunk
&gt; &gt; soon.
&gt; 
&gt; Thanks! It seems to work fine, although it needs more work (search by
&gt; hashtags does not work). Automatic timeline update also seems to work fine.

Just move my patch to something like 0000_twitter_api_1.1.patch and copy the two patches already in this thread also into /etc/portage/patches/net-im/choqok . That should improve things a bit ;). Didn&apos;t know those 2 patches weren&apos;t already in the git repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377124</commentid>
    <comment_count>45</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-16 17:25:22 +0000</bug_when>
    <thetext>Okay, the choqok_1.4-0ubuntu0_i3886.deb works well for me so far in Xubuntu 13.04 i386 ... I shall keep an eye on it. thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377209</commentid>
    <comment_count>46</comment_count>
    <who name="Colin J Thomson">colin.thomson</who>
    <bug_when>2013-06-16 23:05:37 +0000</bug_when>
    <thetext>I&apos;ve applied the patches and it seems to be working very well, search and auto update of the timelines. Thanks very much!
Uploading to TwitPic does not seem to work and my Favourites are not shown but this is a very minor problem. Sadly I do not have an  Identi.ca account to test.
Its great to be able to use Choqok again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377252</commentid>
    <comment_count>47</comment_count>
    <who name="">madgenius</who>
    <bug_when>2013-06-17 02:28:40 +0000</bug_when>
    <thetext>(In reply to comment #32)
&gt; I&apos;ve built an openSUSE package from git,
&gt; 1-click-install for openSUSE 12.2 is here:
&gt; http://software.opensuse.org/ymp/home:lemmy04/openSUSE_12.2/choqok.
&gt; ymp?base=openSUSE%3A12.2&amp;query=choqok
&gt; 
&gt; It&apos;s been built against KDE 4.10 so you&apos;ll also need that.

Could you check the one-click install for opensuse 12.3? I tried installing the one from your repository, but choqok still remains at version 1.3

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377290</commentid>
    <comment_count>48</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-17 06:11:07 +0000</bug_when>
    <thetext>(In reply to comment #47)
&gt; (In reply to comment #32)
&gt; &gt; I&apos;ve built an openSUSE package from git,
&gt; &gt; 1-click-install for openSUSE 12.2 is here:
&gt; &gt; http://software.opensuse.org/ymp/home:lemmy04/openSUSE_12.2/choqok.
&gt; &gt; ymp?base=openSUSE%3A12.2&amp;query=choqok
&gt; &gt; 
&gt; &gt; It&apos;s been built against KDE 4.10 so you&apos;ll also need that.
&gt; 
&gt; Could you check the one-click install for opensuse 12.3? I tried installing
&gt; the one from your repository, but choqok still remains at version 1.3
&gt; 
&gt; Thank you.
That&apos;s because wie didn&apos;t release a new version, yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377291</commentid>
    <comment_count>49</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-17 06:13:15 +0000</bug_when>
    <thetext>(In reply to comment #47)
&gt; (In reply to comment #32)
&gt; &gt; I&apos;ve built an openSUSE package from git,
&gt; &gt; 1-click-install for openSUSE 12.2 is here:
&gt; &gt; http://software.opensuse.org/ymp/home:lemmy04/openSUSE_12.2/choqok.
&gt; &gt; ymp?base=openSUSE%3A12.2&amp;query=choqok
&gt; &gt; 
&gt; &gt; It&apos;s been built against KDE 4.10 so you&apos;ll also need that.
&gt; 
&gt; Could you check the one-click install for opensuse 12.3? I tried installing
&gt; the one from your repository, but choqok still remains at version 1.3
&gt; 
&gt; Thank you.
That&apos;s because wie didn&apos;t release a new version, yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377305</commentid>
    <comment_count>50</comment_count>
    <who name="pfoo">pfoo</who>
    <bug_when>2013-06-17 07:31:49 +0000</bug_when>
    <thetext>Direct message and twitter search patchs are working great apart from a minor bug : twitter search result are displayed in reverse order (older on top). Timeline is however displayed as it should.

Debian/ubuntu/mint users : choqok with both patch is available at https://launchpad.net/~pfoo/+archive/choqok/+packages (compiled against kde4.10)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377321</commentid>
    <comment_count>51</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-17 08:05:14 +0000</bug_when>
    <thetext>pfoo thanks for the 1.4.1 build update - yes search now works for me too - lists aren&apos;t working yet but not so far seen anything else broken. Tested with identi.ca too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377418</commentid>
    <comment_count>52</comment_count>
    <who name="Vasileios P. Lourdas">bugzilla</who>
    <bug_when>2013-06-17 13:44:40 +0000</bug_when>
    <thetext>(In reply to comment #51)
&gt; pfoo thanks for the 1.4.1 build update - yes search now works for me too -
&gt; lists aren&apos;t working yet but not so far seen anything else broken. Tested
&gt; with identi.ca too

Where is this version (1.4.1) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377438</commentid>
    <comment_count>53</comment_count>
    <who name="Mariusz">fisiu82</who>
    <bug_when>2013-06-17 15:25:00 +0000</bug_when>
    <thetext>(In reply to comment #32)
&gt; I&apos;ve built an openSUSE package from git,
&gt; 1-click-install for openSUSE 12.2 is here:
&gt; http://software.opensuse.org/ymp/home:lemmy04/openSUSE_12.2/choqok.
&gt; ymp?base=openSUSE%3A12.2&amp;query=choqok
&gt; 
&gt; It&apos;s been built against KDE 4.10 so you&apos;ll also need that.

Why don&apos;t You build packages against Update repo for released version? The most of users use stock KDE (especially with 12.3, official KDE updates lands in Update repository). If You&apos;re building against some KDE:xxx repo, please name repository accordingly to not confuse users, ie. openSUSE_12.3 means OSS + Update for 12.3 but Your repository involves also KR410... Use some suffix for them ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377450</commentid>
    <comment_count>54</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-17 16:08:47 +0000</bug_when>
    <thetext>I applied both patches from Mario Bensi and fixed the search order of each tweet.
Changes are pushed to my github repository.

I tried searching for hashtags, and it worked (testet for #kde).

Once my developer account got created by the sysadmins I will push the changes to the kde repository.

Please report any issues you find in the current github master so we can release the 1.4 version soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377489</commentid>
    <comment_count>55</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-17 18:37:07 +0000</bug_when>
    <thetext>(In reply to comment #52)
&gt; Where is this version (1.4.1) ?

That&apos;s the version in the .deb file name from pfoo&apos;s latest link (the installed prog still is version 1.3.1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377749</commentid>
    <comment_count>56</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-18 17:17:21 +0000</bug_when>
    <thetext>Git commit 44beb0bcc678a9d053f48d487ef53752f9dddb27 by Daniel Kreuter.
Committed on 18/06/2013 at 19:15.
Pushed by dkreuter into branch &apos;master&apos;.

Changed API version from Twitter from 1.0 to 1.1

Changed API version from 1.0 to 1.1 because 1.0 has been shut down.

Also applied both patches from Mario Bensi regarding twitter search
and direct_messages.

M  +47   -70   helperlibs/twitterapihelper/twitterapimicroblog.cpp
M  +14   -14   helperlibs/twitterapihelper/twitterapimicroblog.h
M  +31   -2    helperlibs/twitterapihelper/twitterapisearch.cpp
M  +2    -0    helperlibs/twitterapihelper/twitterapisearch.h
M  +10   -10   microblogs/laconica/laconicamicroblog.cpp
M  +1    -1    microblogs/laconica/laconicamicroblog.h
M  +4    -1    microblogs/twitter/twitteraccount.cpp
M  +2    -2    microblogs/twitter/twittermicroblog.cpp
M  +68   -100  microblogs/twitter/twittersearch.cpp
M  +2    -4    microblogs/twitter/twittersearch.h

http://commits.kde.org/choqok/44beb0bcc678a9d053f48d487ef53752f9dddb27</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377755</commentid>
    <comment_count>57</comment_count>
    <who name="Oleksandr Natalenko">oleksandr</who>
    <bug_when>2013-06-18 17:22:32 +0000</bug_when>
    <thetext>Thank you so much, Daniel!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377758</commentid>
    <comment_count>58</comment_count>
    <who name="Filipe Saraiva">filipe</who>
    <bug_when>2013-06-18 17:28:36 +0000</bug_when>
    <thetext>Thanks so much Daniel and choqok developers!
Will we have a new choqok release today?

I will request a backport and a new choqok package to Mageia KDE packagers.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377770</commentid>
    <comment_count>59</comment_count>
    <who name="Johannes Huber">johu</who>
    <bug_when>2013-06-18 18:13:48 +0000</bug_when>
    <thetext>Current master does not build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377775</commentid>
    <comment_count>60</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-18 18:29:19 +0000</bug_when>
    <thetext>(In reply to comment #59)
&gt; Current master does not build.

Hi,

should work again. Sorry for this, I have no idea why the start of the comment was missing (didn&apos;t change anything there).

Hope it works now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377788</commentid>
    <comment_count>61</comment_count>
    <who name="Vasileios P. Lourdas">bugzilla</who>
    <bug_when>2013-06-18 19:24:17 +0000</bug_when>
    <thetext>I seem to have an issue. I have set the limit of displayed tweets to 70. However, even when there are read (old) tweets, they are not deleted and exist in the timeline. Previously, this worked fine. Eg. if I had 90 unread tweets, they were all shown. If I read (from the old ones) 15 of them, at the next timeline refresh, the tweets shown would be 75. Now old read tweets above the threshold remain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377792</commentid>
    <comment_count>62</comment_count>
    <who name="Mariusz">fisiu82</who>
    <bug_when>2013-06-18 19:32:14 +0000</bug_when>
    <thetext>Another bug. When marking tweets as favorite, they are marked only in client, not in server.
Mark some tweet in choqok and check its status in browser. They differ.

Should I open a new bug report about this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377793</commentid>
    <comment_count>63</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-18 19:34:19 +0000</bug_when>
    <thetext>(In reply to comment #62)
&gt; Another bug. When marking tweets as favorite, they are marked only in
&gt; client, not in server.
&gt; Mark some tweet in choqok and check its status in browser. They differ.
&gt; 
&gt; Should I open a new bug report about this issue?

Yes please, I already know of this issue, but have no idea yet where the problem is.
Since this report is already marked as resolved it would be better to track every new issue in a new report.

(In reply to comment #61)
&gt; I seem to have an issue. I have set the limit of displayed tweets to 70.
&gt; However, even when there are read (old) tweets, they are not deleted and
&gt; exist in the timeline. Previously, this worked fine. Eg. if I had 90 unread
&gt; tweets, they were all shown. If I read (from the old ones) 15 of them, at
&gt; the next timeline refresh, the tweets shown would be 75. Now old read tweets
&gt; above the threshold remain.
Can you report this in a new report please? I will have a look at it.

Cheers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377798</commentid>
    <comment_count>64</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-18 19:56:05 +0000</bug_when>
    <thetext>Do you have lists not working (they don&apos;t update and you can&apos;t add them) in your list(!) or would you like a report for this too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377852</commentid>
    <comment_count>65</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-06-19 02:27:53 +0000</bug_when>
    <thetext>Please keep this bug open for all of problems related to this API change, and report them here and don&apos;t open new bugs! it makes it easier to track this api update and its issues.

We will close this and release a new version once twitter support is back to normal :)

Thanks Daniel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377904</commentid>
    <comment_count>66</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-19 07:47:25 +0000</bug_when>
    <thetext>(In reply to comment #61)
&gt; I seem to have an issue. I have set the limit of displayed tweets to 70.
&gt; However, even when there are read (old) tweets, they are not deleted and
&gt; exist in the timeline. Previously, this worked fine. Eg. if I had 90 unread
&gt; tweets, they were all shown. If I read (from the old ones) 15 of them, at
&gt; the next timeline refresh, the tweets shown would be 75. Now old read tweets
&gt; above the threshold remain.

I think this only happens when you&apos;re not tweeting, if there&apos;s an update because of a tweet old ones get cleared out, if you don&apos;t and you update/autoupdate they remain</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378091</commentid>
    <comment_count>67</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-19 17:09:06 +0000</bug_when>
    <thetext>Git commit e22372b15d8d17c099fabb7ee416a5ddf50eb8c8 by Daniel Kreuter.
Committed on 19/06/2013 at 17:06.
Pushed by dkreuter into branch &apos;master&apos;.

Favorites switched to new twitter api version

Changed api version for favorites.

M  +16   -369  helperlibs/twitterapihelper/twitterapimicroblog.cpp
M  +0    -19   helperlibs/twitterapihelper/twitterapimicroblog.h

http://commits.kde.org/choqok/e22372b15d8d17c099fabb7ee416a5ddf50eb8c8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378130</commentid>
    <comment_count>68</comment_count>
    <who name="Dwayne MacKinnon">dmk</who>
    <bug_when>2013-06-19 19:36:42 +0000</bug_when>
    <thetext>I successfully compiled &amp; installed the 2013-06-18 git commit on FreeBSD 9.1-RELEASE &amp; KDE 4.10.3. When attempting to follow somebody new the action fails with &quot;The server returned invalid data.&quot; 

Still though, great work so far. Happy to have my twitter feed back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378174</commentid>
    <comment_count>69</comment_count>
      <attachid>80655</attachid>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-20 06:08:07 +0000</bug_when>
    <thetext>Created attachment 80655
Fix for follow/unfollow/block/unblock

I&apos;m working on the follow/unfollow problem and have a patch attached which works so far, I&apos;m refining it a bit but you may test it and report any issues you find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378409</commentid>
    <comment_count>70</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-21 06:50:01 +0000</bug_when>
    <thetext>Yesterday I was attempting to send a tweet - it appeared to work but never appeared, tried it twice without success, the text was (more or less) https://twitter.com/rajm/status/347713857134931969 - which I eventually posted with a browser. I&apos;ve tried to replicate it this morning and so far can&apos;t trigger the problem :-( Using the deb package of 2013-06-17</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378446</commentid>
    <comment_count>71</comment_count>
      <attachid>80681</attachid>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-21 08:46:23 +0000</bug_when>
    <thetext>Created attachment 80681
Fix image upload

Uploaded a patch to get uploading of images working.

I will push this patch as well as the follow/unfollow patch later this evening.

Now with this two patches everything should work again regarding twitter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378537</commentid>
    <comment_count>72</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-21 15:08:21 +0000</bug_when>
    <thetext>Git commit ec2ceb15bef3527a805a7f0cd482d56c63791886 by Daniel Kreuter.
Committed on 21/06/2013 at 15:07.
Pushed by dkreuter into branch &apos;master&apos;.

Follow / Unfollow and Images

Switched from get method to post method for follow, unfollow and block.

Changed URL for Image uploading.

M  +33   -9    helperlibs/twitterapihelper/twitterapimicroblog.cpp
M  +1    -1    microblogs/twitter/twitteraccount.cpp

http://commits.kde.org/choqok/ec2ceb15bef3527a805a7f0cd482d56c63791886</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378538</commentid>
    <comment_count>73</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-06-21 15:09:31 +0000</bug_when>
    <thetext>Hi,

as long as I&apos;ve seen, everything should work now. Please test with the latest git commit and give us any feedback so we can release as soon as possible.

Cheers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378649</commentid>
    <comment_count>74</comment_count>
    <who name="pfoo">pfoo</who>
    <bug_when>2013-06-22 04:34:29 +0000</bug_when>
    <thetext>updading my ppa right now with latest git from kde

Note for *ubuntu users : I strongly advise removing my build of choqok from your system (apt-get remove choqok and apt-get clean and apt-get autoclean) and my ppa from your sources as soon as an official build is released by kubuntu-ppa or kubuntu-ppa-backports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378652</commentid>
    <comment_count>75</comment_count>
    <who name="B. R. Ashley">brashley46</who>
    <bug_when>2013-06-22 05:31:05 +0000</bug_when>
    <thetext>On 13-06-22 12:34 AM, pfoo wrote:
&gt; https://bugs.kde.org/show_bug.cgi?id=264091
&gt;
&gt; --- Comment #74 from pfoo &lt;pfoo@csnu.org&gt; ---
&gt; updading my ppa right now with latest git from kde
&gt;
&gt; Note for *ubuntu users : I strongly advise removing my build of choqok from
&gt; your system (apt-get remove choqok and apt-get clean and apt-get autoclean) and
&gt; my ppa from your sources as soon as an official build is released by
&gt; kubuntu-ppa or kubuntu-ppa-backports
&gt;
thanks, I shall take note of this. Presume it applies to xubuntu also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378678</commentid>
    <comment_count>76</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-06-22 08:45:59 +0000</bug_when>
    <thetext>On installing the latest ppa build
- search now gives results with the latest at the top again :-)
- private messages are working - they weren&apos;t working in 13.04 :-)

However - 
- lists are still not working - if you &apos;Add User List&apos; and enter a twitter id who has defined lists (e.g flowchainsensei or me (rajm)) and click &apos;load lists&apos; you get &apos;there is no list record for user flowchainsensei&apos;) the user lists I have open (from before the breakage) don&apos;t update - they all contain 10 day old postings and nothing more recent. Both these used to work before the current problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378844</commentid>
    <comment_count>77</comment_count>
    <who name="George Labuschagne">george.labuschagne</who>
    <bug_when>2013-06-23 08:35:48 +0000</bug_when>
    <thetext>(In reply to comment #50)
&gt; Direct message and twitter search patchs are working great apart from a
&gt; minor bug : twitter search result are displayed in reverse order (older on
&gt; top). Timeline is however displayed as it should.
&gt; 
&gt; Debian/ubuntu/mint users : choqok with both patch is available at
&gt; https://launchpad.net/~pfoo/+archive/choqok/+packages (compiled against
&gt; kde4.10)

Thanks a lot for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380860</commentid>
    <comment_count>78</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-02 19:07:55 +0000</bug_when>
    <thetext>I think there&apos;s also a problem with posts which include a link when the expanded form is too long - previously there used to be a popup message and you were returned to the tweet composition window so you could truncate it. Now the message appears to be posted and the timeline updates but the tweet doesn&apos;t appear.
I produced this problem with the following text:
&apos;book group compared notes last nigh on PD James Death comes to Pemberley  - I think this reviewer liked it less than me! bit.ly/12ELWJJ&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381837</commentid>
    <comment_count>79</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-07-07 03:44:13 +0000</bug_when>
    <thetext>Git commit c935bc88e172a0e6b531dca586fb96890951310f by Mehrdad Momeny.
Committed on 07/07/2013 at 03:39.
Pushed by momeny into branch &apos;master&apos;.

Fetching list of twitter Lists that the requested user owns, fixed!
The trick here was that You should pass the base URL to TwitterApiMicroBlog::authorizationHeader() funtion to make OAuth signature based on that! (without parameters!)
CCMAIL:daniel.kreuter85@gmail.com

M  +1    -0    microblogs/twitter/twitterlistdialog.cpp
M  +11   -5    microblogs/twitter/twittermicroblog.cpp
M  +5    -5    microblogs/twitter/twittersearch.cpp

http://commits.kde.org/choqok/c935bc88e172a0e6b531dca586fb96890951310f</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381850</commentid>
    <comment_count>80</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-07 06:56:45 +0000</bug_when>
    <thetext>I&apos;ve just updated my git pull of choqok and it now crashes on start up
Thread 1 (Thread 0xb49a6980 (LWP 10338)):
[KCrash Handler]
#7  0xfffffff8 in ?? ()
#8  0xb726b150 in Choqok::UI::TimelineWidget::addNewPosts (this=0xc739f50, postList=...) at /home/robert/devel/choqok/libchoqok/ui/timelinewidget.cpp:237
#9  0xb02ac50d in TwitterApiSearchTimelineWidget::addNewPosts(QList&lt;Choqok::Post*&gt;&amp;) () from /usr/lib/libtwitterapihelper.so.1
#10 0xb02aabe6 in TwitterApiMicroBlogWidget::slotSearchResultsReceived(SearchInfo const&amp;, QList&lt;Choqok::Post*&gt;&amp;) () from /usr/lib/libtwitterapihelper.so.1
#11 0xb02a91bd in ?? () from /usr/lib/libtwitterapihelper.so.1
#12 0xb62f5b56 in QMetaObject::activate (sender=0x8c16cf0, m=0xb02c40fc &lt;TwitterApiSearch::staticMetaObject&gt;, local_signal_index=0, argv=0xbfd98a34) at kernel/qobject.cpp:3539
#13 0xb028b4ad in TwitterApiSearch::searchResultsReceived(SearchInfo const&amp;, QList&lt;Choqok::Post*&gt;&amp;) () from /usr/lib/libtwitterapihelper.so.1
#14 0xb033d764 in ?? () from /usr/lib/kde4/choqok_twitter.so
#15 0xb033aa70 in ?? () from /usr/lib/kde4/choqok_twitter.so
#16 0xb62f5b56 in QMetaObject::activate (sender=sender@entry=0x8d74420, m=m@entry=0xb671146c &lt;KJob::staticMetaObject&gt;, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0xbfd98bd8) at kernel/qobject.cpp:3539
#17 0xb6559025 in KJob::result (this=this@entry=0x8d74420, _t1=_t1@entry=0x8d74420) at ./kjob.moc:208
#18 0xb6559078 in KJob::emitResult (this=this@entry=0x8d74420) at ../../kdecore/jobs/kjob.cpp:318
#19 0xb57dee4d in KIO::SimpleJob::slotFinished (this=this@entry=0x8d74420) at ../../kio/kio/job.cpp:494
#20 0xb57df39d in KIO::TransferJob::slotFinished (this=0x8d74420) at ../../kio/kio/job.cpp:1081
#21 0xb57dd6a8 in qt_static_metacall (_a=0xbfd98dfc, _id=7, _o=0x8d74420, _c=&lt;optimized out&gt;) at ./jobclasses.moc:388
#22 KIO::TransferJob::qt_static_metacall (_o=0x8d74420, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfd98dfc) at ./jobclasses.moc:375
#23 0xb62f5b56 in QMetaObject::activate (sender=sender@entry=0xc392fe8, m=m@entry=0xb59b0480 &lt;KIO::SlaveInterface::staticMetaObject&gt;, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#24 0xb5888cc5 in KIO::SlaveInterface::finished (this=this@entry=0xc392fe8) at ./slaveinterface.moc:185
#25 0xb588c1c3 in KIO::SlaveInterface::dispatch (this=0xc392fe8, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:172
#26 0xb58889fa in KIO::SlaveInterface::dispatch (this=0xc392fe8) at ../../kio/kio/slaveinterface.cpp:88
#27 0xb587b8c8 in KIO::Slave::gotInput (this=this@entry=0xc392fe8) at ../../kio/kio/slave.cpp:344
#28 0xb587bf24 in KIO::Slave::qt_static_metacall (_o=0xc392fe8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfd990ac) at ./slave.moc:57
#29 0xb62f5b56 in QMetaObject::activate (sender=sender@entry=0x964d760, m=m@entry=0xb59ad110 &lt;KIO::Connection::staticMetaObject&gt;, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#30 0xb57a2c15 in KIO::Connection::readyRead (this=0x964d760) at ./connection.moc:106
#31 0xb57a31f8 in dequeue (this=&lt;optimized out&gt;) at ../../kio/kio/connection.cpp:82
#32 KIO::ConnectionPrivate::dequeue (this=0xd3b24f8) at ../../kio/kio/connection.cpp:71
#33 0xb62f1b4a in QMetaCallEvent::placeMetaCall (this=0xbd474a8, object=0x964d760) at kernel/qobject.cpp:524
#34 0xb62fb48b in QObject::event (this=0x964d760, e=0xbd474a8) at kernel/qobject.cpp:1194
#35 0xb6853c7c in QApplicationPrivate::notify_helper (this=0x8a20f80, receiver=0x964d760, e=0xbd474a8) at kernel/qapplication.cpp:4567
#36 0xb6856b94 in QApplication::notify (this=0xbd474a8, receiver=0x964d760, e=0xbd474a8) at kernel/qapplication.cpp:3949
#37 0xb7490d01 in KApplication::notify (this=0xbfd99958, receiver=0x964d760, event=0xbd474a8) at ../../kdeui/kernel/kapplication.cpp:311
#38 0xb62df90e in QCoreApplication::notifyInternal (this=0xbfd99958, receiver=0x964d760, event=0xbd474a8) at kernel/qcoreapplication.cpp:946
#39 0xb62e3721 in sendEvent (event=&lt;optimized out&gt;, receiver=&lt;optimized out&gt;) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x89b6140) at kernel/qcoreapplication.cpp:1570
#41 0xb62e3a8c in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#42 0xb6311aa4 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#43 postEventSourceDispatch (s=0x8a20338) at kernel/qeventdispatcher_glib.cpp:279
#44 0xb55723b3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#45 0xb5572750 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#46 0xb5572831 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#47 0xb6311c21 in QEventDispatcherGlib::processEvents (this=this@entry=0x89b6cf8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#48 0xb690aa0a in QGuiEventDispatcherGlib::processEvents (this=0x89b6cf8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#49 0xb62de3ec in QEventLoop::processEvents (this=this@entry=0xbfd99888, flags=...) at kernel/qeventloop.cpp:149
#50 0xb62de6e1 in QEventLoop::exec (this=this@entry=0xbfd99888, flags=...) at kernel/qeventloop.cpp:204
#51 0xb62e43fa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#52 0xb6851fc4 in QApplication::exec () at kernel/qapplication.cpp:3828
#53 0x0804f8bd in main (argc=1, argv=0xbfd99a34) at /home/robert/devel/choqok/choqok/main.cpp:63
I had a number of lists open when I closed the previous build - although previously they weren&apos;t being updated for when they worked again! - could this be the problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381852</commentid>
    <comment_count>81</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-07-07 07:19:23 +0000</bug_when>
    <thetext>(In reply to comment #80)
&gt; I had a number of lists open when I closed the previous build - although
&gt; previously they weren&apos;t being updated for when they worked again! - could
&gt; this be the problem?
It seems that this crash happens in a search result updating. but why? I can&apos;t undestand :/
And lists aren&apos;t fully usable yet!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381900</commentid>
    <comment_count>82</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-07 10:50:53 +0000</bug_when>
    <thetext>I&apos;ve also got a couple of search tabs open on particular users (but maybe you realise that!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381908</commentid>
    <comment_count>83</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-07 11:03:10 +0000</bug_when>
    <thetext>oh and what magic do you have to do to get gdb to get control when choqok crashes? For me it just exits returning to the gdb prompt with no program running. I assume there&apos;s a signal handler somewhere which catches it and gdb never sees the problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382498</commentid>
    <comment_count>84</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-07-10 01:58:50 +0000</bug_when>
    <thetext>*** Bug 322170 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382504</commentid>
    <comment_count>85</comment_count>
    <who name="Mehrdad Momeny">mehrdad.momeny</who>
    <bug_when>2013-07-10 02:26:58 +0000</bug_when>
    <thetext>*** Bug 322170 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382615</commentid>
    <comment_count>86</comment_count>
    <who name="Chris Siebenmann">c.kdebugs01</who>
    <bug_when>2013-07-10 15:56:02 +0000</bug_when>
    <thetext>(In reply to comment #83)
&gt; oh and what magic do you have to do to get gdb to get control when choqok
&gt; crashes?

I think you want the --nofork option. It&apos;s what I needed to do to run choqok under
valgrind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382719</commentid>
    <comment_count>87</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-11 06:55:40 +0000</bug_when>
    <thetext>Just getting the following messages in .xsession-errors with the choqok installed from choqok_1.4-2-1git0_i386.deb and an OSD message about being unable to parse data

json_parser - syntax error found,  forcing abort, Line 1 Column 0 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
choqok(26497): JSON parsing failed.
Buffer was: 
 &quot;Invalid / expired Token&quot; 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
choqok(26497): JSON parsing failed.
Buffer was: 
 &quot;Invalid / expired Token&quot; 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
choqok(26497): JSON parsing failed.
Buffer was: 
 &quot;Cannot GET /api/direct_messages.json?since_id=32113&amp;amp;count=200&amp;amp;page=1&quot; 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
json_parser - syntax error found,  forcing abort, Line 1 Column 0 
choqok(26497): JSON parsing failed.
Buffer was: 
 &quot;Invalid / expired Token&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382720</commentid>
    <comment_count>88</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-07-11 06:58:47 +0000</bug_when>
    <thetext>(In reply to comment #86)
&gt; (In reply to comment #83)
&gt; &gt; oh and what magic do you have to do to get gdb to get control when choqok
&gt; &gt; crashes?
&gt; 
&gt; I think you want the --nofork option. It&apos;s what I needed to do to run choqok
&gt; under valgrind.
It didn&apos;t work for me - I also tried --nocrashhandler without success</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383029</commentid>
    <comment_count>89</comment_count>
    <who name="Chris Siebenmann">c.kdebugs01</who>
    <bug_when>2013-07-12 17:19:11 +0000</bug_when>
    <thetext>Here&apos;s an issue I&apos;m now confidant about: the current or near-current git
choqok re-orders Retweets when restarted, at least when restarted after
crashes. They should show in your timeline when they were RT&apos;d into
it (and they do when initially fetched), but after a restart they get
re-ordered down to when they were originally posted (often much older
and thus much lower and less visible).

(I think it reorders some other tweets as well, but it definitely
re-orders RTs.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384402</commentid>
    <comment_count>90</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2013-07-19 01:00:05 +0000</bug_when>
    <thetext>robert, to run choqok in gdb, use &quot;gdb --args choqok --nofork&quot;, and then &quot;run&quot; at the gdb prompt. Upon crash, type &quot;bt&quot;.

If the crash is reproducible, it is best to report it as a new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388276</commentid>
    <comment_count>91</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-08-06 15:37:30 +0000</bug_when>
    <thetext>Git commit 3e8e6384a1595f832f2ec209bd00d8ca720e455a by Daniel Kreuter.
Committed on 06/08/2013 at 15:34.
Pushed by dkreuter into branch &apos;master&apos;.

Fixed timelines of user lists

User lists are now fully working again.
REVIEW: 111855

M  +31   -16   helperlibs/twitterapihelper/twitterapimicroblog.cpp
M  +3    -7    microblogs/twitter/twittermicroblog.cpp

http://commits.kde.org/choqok/3e8e6384a1595f832f2ec209bd00d8ca720e455a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388390</commentid>
    <comment_count>92</comment_count>
    <who name="robert marshall">robert</who>
    <bug_when>2013-08-07 10:14:52 +0000</bug_when>
    <thetext>Lists looking a lot better - thanks!
I can see one problem, if a user in a list retweets something, sometimes I&apos;m getting that RT as a new message every time choqok updates (it only appears once in the timeline)

The sequence appears to be:
- RT is there
- do a refresh - RT disappears
- do a refresh - RT re-appears as new

I can give an example from one of my lists if required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388452</commentid>
    <comment_count>93</comment_count>
    <who name="Vasileios P. Lourdas">bugzilla</who>
    <bug_when>2013-08-07 19:29:05 +0000</bug_when>
    <thetext>(In reply to comment #91)
&gt; Git commit 3e8e6384a1595f832f2ec209bd00d8ca720e455a by Daniel Kreuter.
&gt; Committed on 06/08/2013 at 15:34.
&gt; Pushed by dkreuter into branch &apos;master&apos;.
&gt; 
&gt; Fixed timelines of user lists

Ok, I would suggest to create a tag release with all the mentioned patches here. Why am I suggesting this? Because with the current situation, there are distros that could include all or most of the patches for Choqok, so any bug reports could be inconsistent because of the possibility of missing patches by the maintainer (distro). If there is a specific tagged release, it&apos;s much easier for a distro maintainer to follow the Choqok releases and for users to file bug reports against specific releases.

I hope I made my point clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388457</commentid>
    <comment_count>94</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-08-07 20:09:55 +0000</bug_when>
    <thetext>(In reply to comment #93)
&gt; (In reply to comment #91)
&gt; &gt; Git commit 3e8e6384a1595f832f2ec209bd00d8ca720e455a by Daniel Kreuter.
&gt; &gt; Committed on 06/08/2013 at 15:34.
&gt; &gt; Pushed by dkreuter into branch &apos;master&apos;.
&gt; &gt; 
&gt; &gt; Fixed timelines of user lists
&gt; 
&gt; Ok, I would suggest to create a tag release with all the mentioned patches
&gt; here. Why am I suggesting this? Because with the current situation, there
&gt; are distros that could include all or most of the patches for Choqok, so any
&gt; bug reports could be inconsistent because of the possibility of missing
&gt; patches by the maintainer (distro). If there is a specific tagged release,
&gt; it&apos;s much easier for a distro maintainer to follow the Choqok releases and
&gt; for users to file bug reports against specific releases.
&gt; 
&gt; I hope I made my point clear.

The patches mentioned here are all in master so once Mehrdad released version 1.4 the distributions can build the packages for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395184</commentid>
    <comment_count>95</comment_count>
    <who name="Daniel Kreuter">daniel.kreuter85</who>
    <bug_when>2013-09-04 18:05:55 +0000</bug_when>
    <thetext>Hi,

I close this bug since Choqok 1.4 has been release on 1st September (see also http://choqok.gnufolks.org/2013/09/choqok-1-4-released/)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80541</attachid>
            <date>2013-06-15 20:28:50 +0000</date>
            <delta_ts>2013-06-15 20:28:50 +0000</delta_ts>
            <desc>Fix direct_message sent api for twitter and fix uri for identi.ca</desc>
            <filename>0001-Fix-uri-for-direct-messages-sent-and-remove-set-of-a.patch</filename>
            <type>text/plain</type>
            <size>1749</size>
            <attacher name="Mario Bensi">mbensi</attacher>
            
              <data encoding="base64">RnJvbSA5OWYwNmJjNmE2Njg4ODRjNWZlMzQ3NDRhZmNlYzI4OWFhOTkyMjU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBCZW5zaSA8bWJlbnNpQGlwc3F1YWQubmV0PgpEYXRl
OiBTYXQsIDE1IEp1biAyMDEzIDIyOjIyOjEyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gRml4IHVy
aSBmb3IgZGlyZWN0IG1lc3NhZ2VzIHNlbnQgYW5kIHJlbW92ZSBzZXQgb2YgYXBpIDEuMSB0bwog
Zml4IGlkZW50aS5jYSB1cmkKCi0tLQogaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0
ZXJhcGlhY2NvdW50LmNwcCB8IDMgLS0tCiBtaWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcm1pY3Jv
YmxvZy5jcHAgICAgICAgICAgIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigr
KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9oZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxw
ZXIvdHdpdHRlcmFwaWFjY291bnQuY3BwIGIvaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3
aXR0ZXJhcGlhY2NvdW50LmNwcAppbmRleCBhYzI4ZWZkLi5lMmVmZTk3IDEwMDY0NAotLS0gYS9o
ZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdpdHRlcmFwaWFjY291bnQuY3BwCisrKyBiL2hl
bHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpYWNjb3VudC5jcHAKQEAgLTY4LDkg
KzY4LDYgQEAgVHdpdHRlckFwaUFjY291bnQ6OlR3aXR0ZXJBcGlBY2NvdW50KFR3aXR0ZXJBcGlN
aWNyb0Jsb2cqIHBhcmVudCwgY29uc3QgUVN0cmluZwogICAgIGQtPm9hdXRoVG9rZW5TZWNyZXQg
PSBDaG9xb2s6OlBhc3N3b3JkTWFuYWdlcjo6c2VsZigpLT5yZWFkUGFzc3dvcmQoCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmcoIiUxX3Rva2VuU2Vj
cmV0IikuYXJnKGFsaWFzKSApLnRvVXRmOCgpOwogICAgIHNldEFwaSggY29uZmlnR3JvdXAoKS0+
cmVhZEVudHJ5KCJBcGkiLCBRU3RyaW5nKCcvJykgKSApOwotICAgIGlmKGFwaSgpICE9ICIxLjEi
KSB7Ci0gICAgICBzZXRBcGkoIjEuMSIpOwotICAgIH0KIAogICAgIGtEZWJ1ZygpPDwiVXNpbmdP
QXV0aDogIjw8ZC0+dXNpbmdPYXV0aDsKICAgICBpZihkLT51c2luZ09hdXRoKXsKZGlmZiAtLWdp
dCBhL21pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVybWljcm9ibG9nLmNwcCBiL21pY3JvYmxvZ3Mv
dHdpdHRlci90d2l0dGVybWljcm9ibG9nLmNwcAppbmRleCAyNDIxODRlLi5mYTA4ODc5IDEwMDY0
NAotLS0gYS9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcm1pY3JvYmxvZy5jcHAKKysrIGIvbWlj
cm9ibG9ncy90d2l0dGVyL3R3aXR0ZXJtaWNyb2Jsb2cuY3BwCkBAIC02NCw3ICs2NCw3IEBAIFR3
aXR0ZXJNaWNyb0Jsb2c6OlR3aXR0ZXJNaWNyb0Jsb2cgKCBRT2JqZWN0KiBwYXJlbnQsIGNvbnN0
IFFWYXJpYW50TGlzdCYgICkKICAgICBrRGVidWcoKTsKICAgICBzZXRTZXJ2aWNlTmFtZSgiVHdp
dHRlciIpOwogICAgIHNldFNlcnZpY2VIb21lcGFnZVVybCgiaHR0cHM6Ly90d2l0dGVyLmNvbS8i
KTsKLSAgICB0aW1lbGluZUFwaVBhdGhbIlJlcGx5Il0gPSAiL3N0YXR1c2VzL21lbnRpb25zLiUx
IjsKKyAgICB0aW1lbGluZUFwaVBhdGhbIlJlcGx5Il0gPSAiL3N0YXR1c2VzL21lbnRpb25zX3Rp
bWVsaW5lLiUxIjsKICAgICBzZXRUaW1lbGluZUluZm9zKCk7CiB9CiB2b2lkIFR3aXR0ZXJNaWNy
b0Jsb2c6OnNldFRpbWVsaW5lSW5mb3MoKQotLSAKMS44LjEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80543</attachid>
            <date>2013-06-15 22:34:50 +0000</date>
            <delta_ts>2013-06-15 22:34:50 +0000</delta_ts>
            <desc>Fix twitter search</desc>
            <filename>0002-Fix-twitter-search.patch</filename>
            <type>text/plain</type>
            <size>12303</size>
            <attacher name="Mario Bensi">mbensi</attacher>
            
              <data encoding="base64">RnJvbSAyNzlhMWMxYzQ3NTgxNjM4ZWIxMmZhMGFkMWJmMWYzYjYwMzQwZjAyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBCZW5zaSA8bWJlbnNpQGlwc3F1YWQubmV0PgpEYXRl
OiBTdW4sIDE2IEp1biAyMDEzIDAwOjMyOjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIEZp
eCB0d2l0dGVyIHNlYXJjaAoKLS0tCiBoZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdpdHRl
cmFwaXNlYXJjaC5jcHAgfCAgMzAgKysrKwogaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3
aXR0ZXJhcGlzZWFyY2guaCAgIHwgICAyICsKIG1pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVyc2Vh
cmNoLmNwcCAgICAgICAgICAgICB8IDE2NiArKysrKysrKystLS0tLS0tLS0tLS0tLQogbWljcm9i
bG9ncy90d2l0dGVyL3R3aXR0ZXJzZWFyY2guaCAgICAgICAgICAgICAgIHwgICA2ICstCiA0IGZp
bGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAxMDQgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGlzZWFyY2guY3BwIGIv
aGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGlzZWFyY2guY3BwCmluZGV4IGMw
ZDgxODIuLmUxNWZlZTUgMTAwNjQ0Ci0tLSBhL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90
d2l0dGVyYXBpc2VhcmNoLmNwcAorKysgYi9oZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdp
dHRlcmFwaXNlYXJjaC5jcHAKQEAgLTIzLDEwICsyMywyNyBAQAogKi8KIAogI2luY2x1ZGUgInR3
aXR0ZXJhcGlzZWFyY2guaCIKKyNpbmNsdWRlIDxzdGRpby5oPgogCiBjbGFzcyBUd2l0dGVyQXBp
U2VhcmNoOjpQcml2YXRlCiB7CiBwdWJsaWM6CisgICAgUHJpdmF0ZSgpCisgICAgeworICAgICAg
ICBtb250aGVzWyJKYW4iXSA9IDE7CisgICAgICAgIG1vbnRoZXNbIkZlYiJdID0gMjsKKyAgICAg
ICAgbW9udGhlc1siTWFyIl0gPSAzOworICAgICAgICBtb250aGVzWyJBcHIiXSA9IDQ7CisgICAg
ICAgIG1vbnRoZXNbIk1heSJdID0gNTsKKyAgICAgICAgbW9udGhlc1siSnVuIl0gPSA2OworICAg
ICAgICBtb250aGVzWyJKdWwiXSA9IDc7CisgICAgICAgIG1vbnRoZXNbIkF1ZyJdID0gODsKKyAg
ICAgICAgbW9udGhlc1siU2VwIl0gPSA5OworICAgICAgICBtb250aGVzWyJPY3QiXSA9IDEwOwor
ICAgICAgICBtb250aGVzWyJOb3YiXSA9IDExOworICAgICAgICBtb250aGVzWyJEZWMiXSA9IDEy
OworICAgIH0KKyAgICBRTWFwPFFTdHJpbmcsIGludD4gbW9udGhlczsKIH07CiAKIFR3aXR0ZXJB
cGlTZWFyY2g6OlR3aXR0ZXJBcGlTZWFyY2goUU9iamVjdCogcGFyZW50KQpAQCAtNTQsNiArNzEs
MTggQEAgdm9pZCBUd2l0dGVyQXBpU2VhcmNoOjpyZXF1ZXN0U2VhcmNoUmVzdWx0cyhDaG9xb2s6
OkFjY291bnQqIHRoZUFjY291bnQsIGNvbnN0IFEKICAgICByZXF1ZXN0U2VhcmNoUmVzdWx0cyhp
bmZvLCBzaW5jZVN0YXR1c0lkLCBjb3VudCwgcGFnZSk7CiB9CiAKK1FEYXRlVGltZSBUd2l0dGVy
QXBpU2VhcmNoOjpkYXRlRnJvbVN0cmluZyAoIGNvbnN0IFFTdHJpbmcgJmRhdGUgKQoreworICAg
IGNoYXIgc1sxMF07CisgICAgaW50IHllYXIsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMs
IHR6OworICAgIHNzY2FuZiggcVByaW50YWJsZSAoIGRhdGUgKSwgIiUqcyAlcyAlZCAlZDolZDol
ZCAlZCAlZCIsIHMsICZkYXksICZob3VycywgJm1pbnV0ZXMsICZzZWNvbmRzLCAmdHosICZ5ZWFy
ICk7CisgICAgaW50IG1vbnRoID0gZC0+bW9udGhlc1tzXTsKKyAgICBRRGF0ZVRpbWUgcmVjb2du
aXplZCAoIFFEYXRlICggeWVhciwgbW9udGgsIGRheSApLCBRVGltZSAoIGhvdXJzLCBtaW51dGVz
LCBzZWNvbmRzICkgKTsKKyAgICBpZih0eiA9PSAwKS8vdHogaXMgdGhlIHRpbWV6b25lLCBpbiBU
d2l0dGVyIGl0J3MgYWx3YXlzIFVUQygwKSBpbiBJZGVudGljYSBpdCdzIGxvY2FsICsvLU5VTUJF
UgorICAgICAgICByZWNvZ25pemVkLnNldFRpbWVTcGVjKCBRdDo6VVRDICk7CisgICAgcmV0dXJu
IHJlY29nbml6ZWQudG9Mb2NhbFRpbWUoKTsKK30KKwogU2VhcmNoSW5mbzo6U2VhcmNoSW5mbygp
CiB7CiAKQEAgLTgxLDMgKzExMCw0IEBAIFFTdHJpbmcgU2VhcmNoSW5mbzo6dG9TdHJpbmcoKQog
ewogICAgIHJldHVybiBhY2NvdW50LT5hbGlhcygpICsgIiwsLCIgKyBRU3RyaW5nOjpudW1iZXIo
b3B0aW9uKSArICIsLCwiICsgcXVlcnkgKyAiLCwsIiArIFFTdHJpbmc6Om51bWJlcihpc0Jyb3dz
YWJsZSk7CiB9CisKZGlmZiAtLWdpdCBhL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0
dGVyYXBpc2VhcmNoLmggYi9oZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdpdHRlcmFwaXNl
YXJjaC5oCmluZGV4IDUzNTg3OGUuLmI0MjE1ODUgMTAwNjQ0Ci0tLSBhL2hlbHBlcmxpYnMvdHdp
dHRlcmFwaWhlbHBlci90d2l0dGVyYXBpc2VhcmNoLmgKKysrIGIvaGVscGVybGlicy90d2l0dGVy
YXBpaGVscGVyL3R3aXR0ZXJhcGlzZWFyY2guaApAQCAtOTQsNiArOTQsOCBAQCBwdWJsaWM6CiAg
ICAgKi8KICAgICB2aXJ0dWFsIFFTdHJpbmcgb3B0aW9uQ29kZShpbnQgb3B0aW9uKSA9IDA7CiAK
KyAgICBRRGF0ZVRpbWUgZGF0ZUZyb21TdHJpbmcoIGNvbnN0IFFTdHJpbmcgJmRhdGUgKTsKKwog
cHVibGljIFFfU0xPVFM6CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZWFyY2hSZXN1bHRzKCBj
b25zdCBTZWFyY2hJbmZvICZzZWFyY2hJbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgQ2hvcW9rSWQgJnNpbmNlU3RhdHVzSWQgPSBRU3RyaW5nKCksCmRp
ZmYgLS1naXQgYS9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcnNlYXJjaC5jcHAgYi9taWNyb2Js
b2dzL3R3aXR0ZXIvdHdpdHRlcnNlYXJjaC5jcHAKaW5kZXggZWMyYzY0ZC4uM2ZhM2MzYSAxMDA2
NDQKLS0tIGEvbWljcm9ibG9ncy90d2l0dGVyL3R3aXR0ZXJzZWFyY2guY3BwCisrKyBiL21pY3Jv
YmxvZ3MvdHdpdHRlci90d2l0dGVyc2VhcmNoLmNwcApAQCAtMzAsNiArMzAsOSBAQAogI2luY2x1
ZGUgPGtpby9qb2IuaD4KICNpbmNsdWRlIDxRRG9tRWxlbWVudD4KICNpbmNsdWRlICJjaG9xb2ti
ZWhhdmlvcnNldHRpbmdzLmgiCisjaW5jbHVkZSAidHdpdHRlcmFjY291bnQuaCIKKyNpbmNsdWRl
IDxRdE9BdXRoL1F0T0F1dGg+CisjaW5jbHVkZSA8cWpzb24vcGFyc2VyLmg+CiAKIGNvbnN0IFFS
ZWdFeHAgVHdpdHRlclNlYXJjaDo6bV9ySWQoInRhZzpzZWFyY2gudHdpdHRlci5jb20sWzAtOV0r
OihbMC05XSspIik7CiAKQEAgLTcwLDEzICs3Myw0MyBAQCB2b2lkIFR3aXR0ZXJTZWFyY2g6OnJl
cXVlc3RTZWFyY2hSZXN1bHRzKGNvbnN0IFNlYXJjaEluZm8gJnNlYXJjaEluZm8sCiB7CiAgICAg
a0RlYnVnKCk7CiAKLSAgICBLVXJsIHVybCA9IGJ1aWxkVXJsKCBzZWFyY2hJbmZvLnF1ZXJ5LCBz
ZWFyY2hJbmZvLm9wdGlvbiwgc2luY2VTdGF0dXNJZCwgY291bnQsIHBhZ2UgKTsKKyAgICBRT0F1
dGg6OlBhcmFtTWFwIHBhcmFtOworICAgIFFTdHJpbmcgcXVlcnkgPSBzZWFyY2hJbmZvLnF1ZXJ5
OworICAgIGludCBvcHRpb24gPSBzZWFyY2hJbmZvLm9wdGlvbjsKKworICAgIFFTdHJpbmcgZm9y
bWF0dGVkUXVlcnkgPSBtU2VhcmNoQ29kZVtvcHRpb25dICsgcXVlcnk7CisgICAgS1VybCB1cmwo
ICJodHRwczovL2FwaS50d2l0dGVyLmNvbS8xLjEvc2VhcmNoL3R3ZWV0cy5qc29uIiApOworICAg
IEtVcmwgdG1wVXJsKHVybCk7CisgICAgdXJsLmFkZFF1ZXJ5SXRlbSgicSIsIGZvcm1hdHRlZFF1
ZXJ5KTsKKyAgICBRU3RyaW5nIHEgPSB1cmwucXVlcnkoKTsKKyAgICBwYXJhbS5pbnNlcnQoICJx
IiwgcS5taWQocS5pbmRleE9mKCc9JykgKyAxKS50b0xhdGluMSgpICk7CisgICAgaWYoICFzaW5j
ZVN0YXR1c0lkLmlzRW1wdHkoKSApIHsKKyAgICAgICAgdXJsLmFkZFF1ZXJ5SXRlbSggInNpbmNl
X2lkIiwgc2luY2VTdGF0dXNJZCApOworICAgICAgICBwYXJhbS5pbnNlcnQoICJzaW5jZV9pZCIs
IHNpbmNlU3RhdHVzSWQudG9MYXRpbjEoKSApOworICAgIH0KKyAgICBpbnQgY250U3RyID0gQ2hv
cW9rOjpCZWhhdmlvclNldHRpbmdzOjpjb3VudE9mUG9zdHMoKTsKKyAgICBpZiggY291bnQgJiYg
Y291bnQgPD0gMTAwICkKKyAgICAgICAgY250U3RyID0gIGNvdW50OworICAgIHVybC5hZGRRdWVy
eUl0ZW0oICJjb3VudCIsIFFTdHJpbmc6Om51bWJlcihjbnRTdHIpICk7CisgICAgcGFyYW0uaW5z
ZXJ0KCAiY291bnQiLCBRU3RyaW5nOjpudW1iZXIoY250U3RyKS50b0xhdGluMSgpICk7CisgICAg
aWYoIHBhZ2UgPiAxICkgeworICAgICAgICB1cmwuYWRkUXVlcnlJdGVtKCAicGFnZSIsIFFTdHJp
bmc6Om51bWJlciggcGFnZSApICk7CisgICAgICAgIHBhcmFtLmluc2VydCggInBhZ2UiLCBRU3Ry
aW5nOjpudW1iZXIoIHBhZ2UgKS50b0xhdGluMSgpICk7CisgICAgfQorCiAgICAga0RlYnVnKCk8
PHVybDsKICAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9iICpqb2IgPSBLSU86OnN0b3JlZEdldCgg
dXJsLCBLSU86OlJlbG9hZCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZvICk7CiAgICAgaWYoICFqb2Ig
KSB7CiAgICAgICAgIGtFcnJvcigpIDw8ICJDYW5ub3QgY3JlYXRlIGFuIGh0dHAgR0VUIHJlcXVl
c3QhIjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIFR3aXR0ZXJBY2NvdW50ICphY2Mg
PSBxb2JqZWN0X2Nhc3Q8VHdpdHRlckFjY291bnQqPihzZWFyY2hJbmZvLmFjY291bnQpOworICAg
IFFCeXRlQXJyYXkgYXV0aCA9IGFjYy0+b2F1dGhJbnRlcmZhY2UoKS0+Y3JlYXRlUGFyYW1ldGVy
c1N0cmluZyggdG1wVXJsLnVybCgpLCBRT0F1dGg6OkdFVCwgYWNjLT5vYXV0aFRva2VuKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhY2MtPm9hdXRoVG9rZW5TZWNyZXQoKSwgUU9BdXRoOjpITUFDX1NIQTEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJhbSwgUU9BdXRoOjpQYXJzZUZvckhlYWRlckFyZ3VtZW50cyApOworICAg
IGpvYi0+YWRkTWV0YURhdGEoImN1c3RvbUhUVFBIZWFkZXIiLCAiQXV0aG9yaXphdGlvbjogIiAr
IGF1dGgpOworCiAgICAgbVNlYXJjaEpvYnNbam9iXSA9IHNlYXJjaEluZm87CiAgICAgY29ubmVj
dCggam9iLCBTSUdOQUwoIHJlc3VsdCggS0pvYiogKSApLCB0aGlzLCBTTE9UKCBzZWFyY2hSZXN1
bHRzUmV0dXJuZWQoIEtKb2IqICkgKSApOwogICAgIGpvYi0+c3RhcnQoKTsKQEAgLTk5LDEyNCAr
MTMyLDU3IEBAIHZvaWQgVHdpdHRlclNlYXJjaDo6c2VhcmNoUmVzdWx0c1JldHVybmVkKEtKb2Iq
IGpvYikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9i
ICpqaiA9IHFvYmplY3RfY2FzdDxLSU86OlN0b3JlZFRyYW5zZmVySm9iICo+KCBqb2IgKTsKLSAg
ICBRTGlzdDxDaG9xb2s6OlBvc3QqPiBwb3N0c0xpc3QgPSBwYXJzZUF0b20oIGpqLT5kYXRhKCkg
KTsKKyAgICBRTGlzdDxDaG9xb2s6OlBvc3QqPiBwb3N0c0xpc3QgPSBwYXJzZUpzb24oIGpqLT5k
YXRhKCkgKTsKIAogCiAgICAgZW1pdCBzZWFyY2hSZXN1bHRzUmVjZWl2ZWQoIGluZm8sIHBvc3Rz
TGlzdCApOwogfQogCi1RTGlzdDwgQ2hvcW9rOjpQb3N0KiA+IFR3aXR0ZXJTZWFyY2g6OnBhcnNl
QXRvbShjb25zdCBRQnl0ZUFycmF5JiBidWZmZXIpCitRTGlzdDwgQ2hvcW9rOjpQb3N0KiA+IFR3
aXR0ZXJTZWFyY2g6OnBhcnNlSnNvbihRQnl0ZUFycmF5IGJ1ZmZlcikKIHsKLSAgICBrRGVidWco
KTsKLSAgICBRRG9tRG9jdW1lbnQgZG9jdW1lbnQ7CisgICAgYm9vbCBvazsKICAgICBRTGlzdDxD
aG9xb2s6OlBvc3QqPiBzdGF0dXNMaXN0OwotCi0gICAgZG9jdW1lbnQuc2V0Q29udGVudCggYnVm
ZmVyICk7Ci0KLSAgICBRRG9tRWxlbWVudCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
KCk7Ci0KLSAgICBpZiAoIHJvb3QudGFnTmFtZSgpICE9ICJmZWVkIiApIHsKLSAgICAgICAga0Rl
YnVnKCkgPDwgIlRoZXJlIGlzIG5vIGZlZWQgZWxlbWVudCBpbiBBdG9tIGZlZWQgIiA8PCBidWZm
ZXIuZGF0YSgpOwotICAgICAgICByZXR1cm4gc3RhdHVzTGlzdDsKLSAgICB9Ci0KLSAgICBRRG9t
Tm9kZSBub2RlID0gcm9vdC5maXJzdENoaWxkKCk7Ci0gICAgUVN0cmluZyB0aW1lU3RyOwotICAg
IHdoaWxlICggIW5vZGUuaXNOdWxsKCkgKSB7Ci0gICAgICAgIGlmICggbm9kZS50b0VsZW1lbnQo
KS50YWdOYW1lKCkgIT0gImVudHJ5IiApIHsKLSAgICAgICAgICAgIG5vZGUgPSBub2RlLm5leHRT
aWJsaW5nKCk7Ci0gICAgICAgICAgICBjb250aW51ZTsKKyAgICBRSnNvbjo6UGFyc2VyIHBhcnNl
cjsKKyAgICBRVmFyaWFudE1hcCBtYXAgPSBwYXJzZXIucGFyc2UoYnVmZmVyLCAmb2spLnRvTWFw
KCk7CisKKyAgICBpZiAoIG9rICYmIG1hcC5jb250YWlucygic3RhdHVzZXMiKSApIHsKKyAgICAg
ICAgUVZhcmlhbnRMaXN0IGxpc3QgPSBtYXBbInN0YXR1c2VzIl0udG9MaXN0KCk7CisgICAgICAg
IFFWYXJpYW50TGlzdDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBsaXN0LmNvbnN0QmVnaW4oKTsKKyAg
ICAgICAgUVZhcmlhbnRMaXN0Ojpjb25zdF9pdGVyYXRvciBlbmRJdCA9IGxpc3QuY29uc3RFbmQo
KTsKKyAgICAgICAgZm9yKDsgaXQgIT0gZW5kSXQ7ICsraXQpeworICAgICAgICAgICAgc3RhdHVz
TGlzdC5hcHBlbmQocmVhZFN0YXR1c2VzRnJvbUpzb25NYXAoaXQtPnRvTWFwKCkpKTsKICAgICAg
ICAgfQotCi0gICAgICAgIFFEb21Ob2RlIGVudHJ5Tm9kZSA9IG5vZGUuZmlyc3RDaGlsZCgpOwot
ICAgICAgICBDaG9xb2s6OlBvc3QgKnN0YXR1cyA9IG5ldyBDaG9xb2s6OlBvc3Q7Ci0gICAgICAg
IHN0YXR1cy0+aXNQcml2YXRlID0gZmFsc2U7Ci0KLSAgICAgICAgd2hpbGUgKCAhZW50cnlOb2Rl
LmlzTnVsbCgpICkgewotICAgICAgICAgICAgUURvbUVsZW1lbnQgZWxtID0gZW50cnlOb2RlLnRv
RWxlbWVudCgpOwotICAgICAgICAgICAgaWYgKCBlbG0udGFnTmFtZSgpID09ICJpZCIgKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gRm9tYXR0aW5nIGV4YW1wbGU6ICJ0YWc6c2VhcmNoLnR3aXR0ZXIu
Y29tLDIwMDU6MTIzNTAxNjgzNiIKLSAgICAgICAgICAgICAgICBDaG9xb2tJZCBpZDsKLSAgICAg
ICAgICAgICAgICBpZihtX3JJZC5leGFjdE1hdGNoKGVsbS50ZXh0KCkpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlkID0gbV9ySWQuY2FwKDEpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAvKiAgICAgICAgICAgICAgICBzc2NhbmYoIHFQcmludGFibGUoIGVsbS50ZXh0KCkg
KSwKLSAgICAgICAgICAgICAgICAidGFnOnNlYXJjaC50d2l0dGVyLmNvbSwlKmQ6JWQiLCAmaWQp
OyovCi0gICAgICAgICAgICAgICAgc3RhdHVzLT5wb3N0SWQgPSBpZDsKLSAgICAgICAgICAgIH0g
ZWxzZSBpZiAoIGVsbS50YWdOYW1lKCkgPT0gInB1Ymxpc2hlZCIgKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gRm9ybWF0dGluZyBleGFtcGxlOiAiMjAwOS0wMi0yMVQxOTo0MjozOVoiCi0gICAgICAg
ICAgICAgICAgLy8gTmVlZCB0byBleHRyYWN0IGRhdGUgaW4gc2ltaWxhciBmYXNoaW9uIHRvIGRh
dGVGcm9tU3RyaW5nCi0gICAgICAgICAgICAgICAgaW50IHllYXIsIG1vbnRoLCBkYXksIGhvdXIs
IG1pbnV0ZSwgc2Vjb25kOwotICAgICAgICAgICAgICAgIHNzY2FuZiggcVByaW50YWJsZSggZWxt
LnRleHQoKSApLAotICAgICAgICAgICAgICAgICAgICAgICAgIiVkLSVkLSVkVCVkOiVkOiVkJSpz
IiwgJnllYXIsICZtb250aCwgJmRheSwgJmhvdXIsICZtaW51dGUsICZzZWNvbmQpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgUURhdGVUaW1lIHJlY29nbml6ZWQoIFFEYXRlKCB5ZWFyLCBtb250
aCwgZGF5KSwgUVRpbWUoIGhvdXIsIG1pbnV0ZSwgc2Vjb25kICkgKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJlY29nbml6ZWQuc2V0VGltZVNwZWMoIFF0OjpVVEMgKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXR1cy0+Y3JlYXRpb25EYXRlVGltZSA9IHJlY29nbml6ZWQ7Ci0gICAg
ICAgICAgICB9IGVsc2UgaWYgKCBlbG0udGFnTmFtZSgpID09ICJ0aXRsZSIgKSB7Ci0gICAgICAg
ICAgICAgICAgc3RhdHVzLT5jb250ZW50ID0gZWxtLnRleHQoKTsKLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAoIGVsbS50YWdOYW1lKCkgPT0gInR3aXR0ZXI6c291cmNlIiApIHsKLSAgICAgICAgICAg
ICAgICBzdGF0dXMtPnNvdXJjZSA9IGVsbS50ZXh0KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KCBlbG0udGFnTmFtZSgpID09ICJsaW5rIikgewotICAgICAgICAgICAgICAgIGlmKGVsbS5hdHRy
aWJ1dGVOb2RlKCAicmVsIiApLnZhbHVlKCkgPT0gImltYWdlIikgewotICAgICAgICAgICAgICAg
IHN0YXR1cy0+YXV0aG9yLnByb2ZpbGVJbWFnZVVybCA9IGVsbS5hdHRyaWJ1dGUoICJocmVmIiAp
OwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZihlbG0uYXR0cmlidXRlTm9kZSggInJlbCIgKS52
YWx1ZSgpID09ICJhbHRlcm5hdGUiKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXR1cy0+bGlu
ayA9IGVsbS5hdHRyaWJ1dGUoICJocmVmIiApOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIGVsbS50YWdOYW1lKCkgPT0gImF1dGhvciIpIHsKLSAgICAgICAgICAg
ICAgICBRRG9tTm9kZSB1c2VyTm9kZSA9IGVudHJ5Tm9kZS5maXJzdENoaWxkKCk7Ci0gICAgICAg
ICAgICAgICAgd2hpbGUgKCAhdXNlck5vZGUuaXNOdWxsKCkgKQotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCB1c2VyTm9kZS50b0VsZW1lbnQoKS50YWdOYW1lKCkg
PT0gIm5hbWUiICkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgUVN0cmluZyBmdWxsTmFtZSA9IHVzZXJOb2RlLnRvRWxlbWVudCgpLnRleHQoKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBicmFja2V0UG9zID0gZnVsbE5hbWUuaW5kZXhPZiggIiAi
LCAwICk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmcgc2NyZWVuTmFtZSA9IGZ1
bGxOYW1lLmxlZnQoIGJyYWNrZXRQb3MgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJp
bmcgbmFtZSA9IGZ1bGxOYW1lLnJpZ2h0ICggZnVsbE5hbWUuc2l6ZSgpIC0gYnJhY2tldFBvcyAt
IDIgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUuY2hvcCggMSApOwotCi0gICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0dXMtPmF1dGhvci5yZWFsTmFtZSA9IG5hbWU7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0dXMtPmF1dGhvci51c2VyTmFtZSA9IHNjcmVlbk5hbWU7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgdXNlck5vZGUgPSB1c2Vy
Tm9kZS5uZXh0U2libGluZygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGVudHJ5Tm9kZSA9IGVudHJ5Tm9kZS5uZXh0U2libGluZygpOwotICAgICAgICB9
Ci0gICAgICAgIHN0YXR1cy0+aXNGYXZvcml0ZWQgPSBmYWxzZTsKLSAgICAgICAgc3RhdHVzTGlz
dC5pbnNlcnQoIDAsIHN0YXR1cyApOwotICAgICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZygp
OwogICAgIH0KLQogICAgIHJldHVybiBzdGF0dXNMaXN0OwogfQogCi1RU3RyaW5nIFR3aXR0ZXJT
ZWFyY2g6Om9wdGlvbkNvZGUoaW50IG9wdGlvbikKK0Nob3Fvazo6UG9zdCogVHdpdHRlclNlYXJj
aDo6cmVhZFN0YXR1c2VzRnJvbUpzb25NYXAoY29uc3QgUVZhcmlhbnRNYXAmIHZhcikKIHsKLSAg
ICByZXR1cm4gbUkxOG5TZWFyY2hDb2RlW29wdGlvbl07CisgICAgQ2hvcW9rOjpQb3N0ICpwb3N0
ID0gbmV3IENob3Fvazo6UG9zdDsKKworICAgIHBvc3QtPmNvbnRlbnQgPSB2YXJbInRleHQiXS50
b1N0cmluZygpOworICAgIHBvc3QtPmNyZWF0aW9uRGF0ZVRpbWUgPSBkYXRlRnJvbVN0cmluZyh2
YXJbImNyZWF0ZWRfYXQiXS50b1N0cmluZygpKTsKKyAgICBwb3N0LT5wb3N0SWQgPSB2YXJbImlk
Il0udG9TdHJpbmcoKTsKKyAgICBwb3N0LT5zb3VyY2UgPSB2YXJbInNvdXJjZSJdLnRvU3RyaW5n
KCk7CisgICAgUVZhcmlhbnRNYXAgdXNlck1hcCA9IHZhclsidXNlciJdLnRvTWFwKCk7CisgICAg
cG9zdC0+YXV0aG9yLnJlYWxOYW1lID0gdXNlck1hcFsibmFtZSJdLnRvU3RyaW5nKCk7CisgICAg
cG9zdC0+YXV0aG9yLnVzZXJOYW1lID0gdXNlck1hcFsic2NyZWVuX25hbWUiXS50b1N0cmluZygp
OworICAgIHBvc3QtPmF1dGhvci5wcm9maWxlSW1hZ2VVcmwgPSB1c2VyTWFwWyJwcm9maWxlX2lt
YWdlX3VybCJdLnRvU3RyaW5nKCk7CisgICAgcG9zdC0+aXNQcml2YXRlID0gZmFsc2U7CisgICAg
cG9zdC0+aXNGYXZvcml0ZWQgPSBmYWxzZTsKKworICAgIHBvc3QtPmxpbmsgPSBRU3RyaW5nICgg
Imh0dHBzOi8vdHdpdHRlci5jb20vJTEvc3RhdHVzLyUyIiApLmFyZyAoIHBvc3QtPmF1dGhvci51
c2VyTmFtZSApLmFyZyAoIHBvc3QtPnBvc3RJZCApOworCisgICAgcmV0dXJuIHBvc3Q7CiB9CiAK
LVR3aXR0ZXJTZWFyY2g6On5Ud2l0dGVyU2VhcmNoKCkKK1FTdHJpbmcgVHdpdHRlclNlYXJjaDo6
b3B0aW9uQ29kZShpbnQgb3B0aW9uKQogeworICAgIHJldHVybiBtSTE4blNlYXJjaENvZGVbb3B0
aW9uXTsKIH0KIAotS1VybCBUd2l0dGVyU2VhcmNoOjpidWlsZFVybCggUVN0cmluZyBxdWVyeSwg
aW50IG9wdGlvbiwgQ2hvcW9rSWQgc2luY2VTdGF0dXNJZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQgY291bnQsIHVpbnQgcGFnZSkKK1R3aXR0ZXJTZWFyY2g6On5Ud2l0dGVy
U2VhcmNoKCkKIHsKLSAgICBrRGVidWcoKTsKLSAgICBRU3RyaW5nIGZvcm1hdHRlZFF1ZXJ5ID0g
bVNlYXJjaENvZGVbb3B0aW9uXSArIHF1ZXJ5OwotICAgIEtVcmwgdXJsKCAiaHR0cHM6Ly9zZWFy
Y2gudHdpdHRlci5jb20vc2VhcmNoLmF0b20iICk7Ci0gICAgdXJsLmFkZFF1ZXJ5SXRlbSgicSIs
IGZvcm1hdHRlZFF1ZXJ5KTsKLSAgICBpZiggIXNpbmNlU3RhdHVzSWQuaXNFbXB0eSgpICkKLSAg
ICAgICAgdXJsLmFkZFF1ZXJ5SXRlbSggInNpbmNlX2lkIiwgc2luY2VTdGF0dXNJZCApOwotICAg
IGludCBjbnRTdHIgPSBDaG9xb2s6OkJlaGF2aW9yU2V0dGluZ3M6OmNvdW50T2ZQb3N0cygpOwot
ICAgIGlmKCBjb3VudCAmJiBjb3VudCA8PSAxMDAgKQotICAgICAgICBjbnRTdHIgPSAgY291bnQ7
Ci0gICAgdXJsLmFkZFF1ZXJ5SXRlbSggInJwcCIsIFFTdHJpbmc6Om51bWJlcihjbnRTdHIpICk7
Ci0gICAgaWYoIHBhZ2UgPiAxICkKLSAgICAgICAgdXJsLmFkZFF1ZXJ5SXRlbSggInBhZ2UiLCBR
U3RyaW5nOjpudW1iZXIoIHBhZ2UgKSApOwotCi0gICAgcmV0dXJuIHVybDsKIH0KIAogI2luY2x1
ZGUgInR3aXR0ZXJzZWFyY2gubW9jIgpkaWZmIC0tZ2l0IGEvbWljcm9ibG9ncy90d2l0dGVyL3R3
aXR0ZXJzZWFyY2guaCBiL21pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVyc2VhcmNoLmgKaW5kZXgg
NWE3YjZlZC4uNjYyZThkNyAxMDA2NDQKLS0tIGEvbWljcm9ibG9ncy90d2l0dGVyL3R3aXR0ZXJz
ZWFyY2guaAorKysgYi9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcnNlYXJjaC5oCkBAIC01Miwx
MCArNTIsOCBAQCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFJlc3Vs
dHNSZXR1cm5lZCggS0pvYiAqam9iICk7CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIEtVcmwg
YnVpbGRVcmwoIFFTdHJpbmcgcXVlcnksIGludCBvcHRpb24sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBDaG9xb2tJZCBzaW5jZVN0YXR1c0lkID0gQ2hvcW9rSWQoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQgY291bnQgPSAwLCB1aW50IHBhZ2UgPSAxICk7Ci0gICAgUUxp
c3Q8Q2hvcW9rOjpQb3N0Kj4gcGFyc2VBdG9tKCBjb25zdCBRQnl0ZUFycmF5ICZidWZmZXIgKTsK
KyAgICBRTGlzdDwgQ2hvcW9rOjpQb3N0KiA+IHBhcnNlSnNvbihRQnl0ZUFycmF5IGJ1ZmZlcik7
CisgICAgQ2hvcW9rOjpQb3N0KiByZWFkU3RhdHVzZXNGcm9tSnNvbk1hcChjb25zdCBRVmFyaWFu
dE1hcCYgdmFyKTsKIAogICAgIFFNYXA8aW50LCBRU3RyaW5nPiBtU2VhcmNoQ29kZTsKICAgICBR
TWFwPGludCwgUVN0cmluZz4gbUkxOG5TZWFyY2hDb2RlOwotLSAKMS44LjEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80553</attachid>
            <date>2013-06-16 14:02:08 +0000</date>
            <delta_ts>2013-06-16 14:02:08 +0000</delta_ts>
            <desc>Gentoo patch from git</desc>
            <filename>twitter_api_1.1.patch</filename>
            <type>text/plain</type>
            <size>24807</size>
            <attacher name="Daniel Dewald">TheCrasher</attacher>
            
              <data encoding="base64">ZGlmZiAtcnVwTiAnLS1leGNsdWRlPS4qJyAuL2Nob3Fvay9oZWxwZXJsaWJzL3R3aXR0ZXJhcGlo
ZWxwZXIvdHdpdHRlcmFwaWFjY291bnQuY3BwIC4vY2hvcW9rX2RlL2hlbHBlcmxpYnMvdHdpdHRl
cmFwaWhlbHBlci90d2l0dGVyYXBpYWNjb3VudC5jcHAKLS0tIC4vY2hvcW9rL2hlbHBlcmxpYnMv
dHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpYWNjb3VudC5jcHAJMjAxMy0wNi0xNiAxNTo1NTow
Mi4xMDgzMTQ3MDEgKzAyMDAKKysrIC4vY2hvcW9rX2RlL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhl
bHBlci90d2l0dGVyYXBpYWNjb3VudC5jcHAJMjAxMy0wNi0xNiAxNTo0NDo1NC41OTMzNTg1ODkg
KzAyMDAKQEAgLTY4LDYgKzY4LDkgQEAgVHdpdHRlckFwaUFjY291bnQ6OlR3aXR0ZXJBcGlBY2Nv
dW50KFR3aQogICAgIGQtPm9hdXRoVG9rZW5TZWNyZXQgPSBDaG9xb2s6OlBhc3N3b3JkTWFuYWdl
cjo6c2VsZigpLT5yZWFkUGFzc3dvcmQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFFTdHJpbmcoIiUxX3Rva2VuU2VjcmV0IikuYXJnKGFsaWFzKSApLnRvVXRm
OCgpOwogICAgIHNldEFwaSggY29uZmlnR3JvdXAoKS0+cmVhZEVudHJ5KCJBcGkiLCBRU3RyaW5n
KCcvJykgKSApOworICAgIGlmKGFwaSgpICE9ICIxLjEiKSB7CisgICAgICBzZXRBcGkoIjEuMSIp
OworICAgIH0KIAogICAgIGtEZWJ1ZygpPDwiVXNpbmdPQXV0aDogIjw8ZC0+dXNpbmdPYXV0aDsK
ICAgICBpZihkLT51c2luZ09hdXRoKXsKZGlmZiAtcnVwTiAnLS1leGNsdWRlPS4qJyAuL2Nob3Fv
ay9oZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdpdHRlcmFwaW1pY3JvYmxvZy5jcHAgLi9j
aG9xb2tfZGUvaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGltaWNyb2Jsb2cu
Y3BwCi0tLSAuL2Nob3Fvay9oZWxwZXJsaWJzL3R3aXR0ZXJhcGloZWxwZXIvdHdpdHRlcmFwaW1p
Y3JvYmxvZy5jcHAJMjAxMy0wNi0xNiAxNTo1NTowMi4xMDkzMTQ3MDEgKzAyMDAKKysrIC4vY2hv
cW9rX2RlL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpbWljcm9ibG9nLmNw
cAkyMDEzLTA2LTE2IDE1OjQ0OjU0LjU5NDM1ODU4OSArMDIwMApAQCAtODMsOSArODMsOSBAQCBU
d2l0dGVyQXBpTWljcm9CbG9nOjpUd2l0dGVyQXBpTWljcm9CbG9nCiB7CiAgICAga0RlYnVnKCk7
CiAgICAgS0NvbmZpZ0dyb3VwIGdycChLR2xvYmFsOjpjb25maWcoKSwgIlR3aXR0ZXJBcGkiKTsK
LSAgICBmb3JtYXQgPSBncnAucmVhZEVudHJ5KCJmb3JtYXQiLCAieG1sIik7CisgICAgZm9ybWF0
ID0gZ3JwLnJlYWRFbnRyeSgiZm9ybWF0IiwgImpzb24iKTsKIAotICAgIHNldENoYXJMaW1pdCgx
NDApOworICAgIHNldENoYXJMaW1pdCgxNDApOwkvL1RPRE86IFNlZSBpZiB3ZSBjYW4gYXNrIHR3
aXR0ZXIgZm9yIHRoZSBjaGFyIGxpbWl0IGFuZCBtYWtlIGl0IGR5bmFtaWMKICAgICBRU3RyaW5n
TGlzdCB0aW1lbGluZVR5cGVzOwogICAgIHRpbWVsaW5lVHlwZXM8PCAiSG9tZSIgPDwgIlJlcGx5
IiA8PCAiSW5ib3giIDw8ICJPdXRib3giIDw8ICJGYXZvcml0ZSIgPDwgIlJlVHdlZXRzIiA8PCAi
UHVibGljIjsKICAgICBzZXRUaW1lbGluZU5hbWVzKHRpbWVsaW5lVHlwZXMpOwpAQCAtNDA0LDE5
ICs0MDQsMTMgQEAgdm9pZCBUd2l0dGVyQXBpTWljcm9CbG9nOjpzbG90Q3JlYXRlUG9zdAogICAg
IH0gZWxzZSB7CiAgICAgICAgIEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IgKnN0aiA9IHFvYmplY3Rf
Y2FzdDwgS0lPOjpTdG9yZWRUcmFuc2ZlckpvYiAqID4gKCBqb2IgKTsKICAgICAgICAgaWYgKCAh
cG9zdC0+aXNQcml2YXRlICkgewotICAgICAgICAgICAgaWYoZm9ybWF0PT0ieG1sIil7Ci0gICAg
ICAgICAgICAgICAgcmVhZFBvc3RGcm9tWG1sICggdGhlQWNjb3VudCwgc3RqLT5kYXRhKCksIHBv
c3QgKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcmVhZFBvc3RGcm9t
SnNvbiAoIHRoZUFjY291bnQsIHN0ai0+ZGF0YSgpLCBwb3N0ICk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICByZWFkUG9zdEZyb21Kc29uICggdGhlQWNjb3VudCwgc3RqLT5kYXRhKCksIHBv
c3QgKTsKICAgICAgICAgICAgIGlmICggcG9zdC0+aXNFcnJvciApIHsKLSAgICAgICAgICAgICAg
ICBRU3RyaW5nIGVycm9yTXNnOwotICAgICAgICAgICAgICAgIGlmKGZvcm1hdCA9PSAianNvbiIp
Ci0gICAgICAgICAgICAgICAgICAgIGVycm9yTXNnID0gY2hlY2tKc29uRm9yRXJyb3Ioc3RqLT5k
YXRhKCkpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgZXJyb3JN
c2cgPSBjaGVja1htbEZvckVycm9yKHN0ai0+ZGF0YSgpKTsKLSAgICAgICAgICAgICAgICBpZigg
ZXJyb3JNc2cuaXNFbXB0eSgpICl7Ci0gICAgICAgICAgICAgICAgICAgIGtFcnJvcigpIDw8ICJD
cmVhdGluZyBwb3N0OiBYTUwgcGFyc2luZyBlcnJvcjogIjw8IHN0ai0+ZGF0YSgpIDsKKyAgICAg
ICAgICAgICAgICAKKwkJUVN0cmluZyBlcnJvck1zZzsKKyAgICAgICAgICAgICAgICBlcnJvck1z
ZyA9IGNoZWNrSnNvbkZvckVycm9yKHN0ai0+ZGF0YSgpKTsKKyAgICAgICAgICAgICAgICBpZigg
ZXJyb3JNc2cuaXNFbXB0eSgpICl7CS8vID8/Pz8gSWYgZW1wdHksIHdoeSBpcyB0aGVyZSBhbiBl
cnJvcj8KKyAgICAgICAgICAgICAgICAgICAga0Vycm9yKCkgPDwgIkNyZWF0aW5nIHBvc3Q6IEpT
T04gcGFyc2luZyBlcnJvcjogIjw8IHN0ai0+ZGF0YSgpIDsKICAgICAgICAgICAgICAgICAgICAg
ZW1pdCBlcnJvclBvc3QgKCB0aGVBY2NvdW50LCBwb3N0LCBDaG9xb2s6Ok1pY3JvQmxvZzo6UGFy
c2luZ0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4biAoICJD
cmVhdGluZyB0aGUgbmV3IHBvc3QgZmFpbGVkLiBUaGUgcmVzdWx0IGRhdGEgY291bGQgbm90IGJl
IHBhcnNlZC4iICksIE1pY3JvQmxvZzo6Q3JpdGljYWwgKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgewpAQCAtNDk3LDE3ICs0OTEsMTAgQEAgdm9pZCBUd2l0dGVyQXBpTWljcm9CbG9nOjpzbG90
RmV0Y2hQb3N0CiAgICAgICAgICAgICAgICAgICAgICBpMThuKCJGZXRjaGluZyB0aGUgbmV3IHBv
c3QgZmFpbGVkLiAlMSIsIGpvYi0+ZXJyb3JTdHJpbmcoKSksIExvdyApOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IgKnN0aiA9IHFvYmplY3RfY2FzdDxLSU86
OlN0b3JlZFRyYW5zZmVySm9iICo+ICggam9iICk7Ci0gICAgICAgIGlmKGZvcm1hdD09Impzb24i
KXsKLSAgICAgICAgICAgICAgICByZWFkUG9zdEZyb21Kc29uICggdGhlQWNjb3VudCwgc3RqLT5k
YXRhKCksIHBvc3QgKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcmVh
ZFBvc3RGcm9tWG1sICggdGhlQWNjb3VudCwgc3RqLT5kYXRhKCksIHBvc3QgKTsKLSAgICAgICAg
ICAgIH0KKyAgICAgICAgcmVhZFBvc3RGcm9tSnNvbiAoIHRoZUFjY291bnQsIHN0ai0+ZGF0YSgp
LCBwb3N0ICk7CiAgICAgICAgIGlmICggcG9zdC0+aXNFcnJvciApIHsKICAgICAgICAgICAgICAg
ICBRU3RyaW5nIGVycm9yTXNnOwotICAgICAgICAgICAgICAgIGlmKGZvcm1hdCA9PSAianNvbiIp
Ci0gICAgICAgICAgICAgICAgICAgIGVycm9yTXNnID0gY2hlY2tKc29uRm9yRXJyb3Ioc3RqLT5k
YXRhKCkpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgZXJyb3JN
c2cgPSBjaGVja1htbEZvckVycm9yKHN0ai0+ZGF0YSgpKTsKKyAgICAgICAgICAgICAgICBlcnJv
ck1zZyA9IGNoZWNrSnNvbkZvckVycm9yKHN0ai0+ZGF0YSgpKTsKICAgICAgICAgICAgIGlmKCBl
cnJvck1zZy5pc0VtcHR5KCkgKXsKICAgICAgICAgICAgICAgICBrRGVidWcoKSA8PCAiUGFyc2lu
ZyBFcnJvciI7CiAgICAgICAgICAgICAgICAgZW1pdCBlcnJvclBvc3QgKCB0aGVBY2NvdW50LCBw
b3N0LCBDaG9xb2s6Ok1pY3JvQmxvZzo6UGFyc2luZ0Vycm9yLApAQCAtNTIyLDcgKzUwOSw2IEBA
IHZvaWQgVHdpdHRlckFwaU1pY3JvQmxvZzo6c2xvdEZldGNoUG9zdAogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgcG9zdC0+aXNFcnJvciA9IHRydWU7CiAgICAgICAgICAgICBlbWl0IHBv
c3RGZXRjaGVkICggdGhlQWNjb3VudCwgcG9zdCApOwotICAgICAgICAgICAgLy8gICAgICAgICAg
ICAgbUZldGNoUG9zdE1hcC5yZW1vdmUoam9iKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTUz
NCw5ICs1MjAsOSBAQCB2b2lkIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlbW92ZVBvc3QgKCBDCiAg
ICAgICAgIFR3aXR0ZXJBcGlBY2NvdW50KiBhY2NvdW50ID0gcW9iamVjdF9jYXN0PFR3aXR0ZXJB
cGlBY2NvdW50Kj4odGhlQWNjb3VudCk7CiAgICAgICAgIEtVcmwgdXJsID0gYWNjb3VudC0+YXBp
VXJsKCk7CiAgICAgICAgIGlmICggIXBvc3QtPmlzUHJpdmF0ZSApIHsKLSAgICAgICAgICAgIHVy
bC5hZGRQYXRoICggIi9zdGF0dXNlcy9kZXN0cm95LyIgKyBwb3N0LT5wb3N0SWQgKyAiLnhtbCIg
KTsKKyAgICAgICAgICAgIHVybC5hZGRQYXRoICggIi9zdGF0dXNlcy9kZXN0cm95LyIgKyBwb3N0
LT5wb3N0SWQgKyAiLmpzb24iICk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB1cmwu
YWRkUGF0aCAoICIvZGlyZWN0X21lc3NhZ2VzL2Rlc3Ryb3kvIiArIHBvc3QtPnBvc3RJZCArICIu
eG1sIiApOworICAgICAgICAgICAgdXJsLmFkZFBhdGggKCAiL2RpcmVjdF9tZXNzYWdlcy9kZXN0
cm95LyIgKyBwb3N0LT5wb3N0SWQgKyAiLmpzb24iICk7CiAgICAgICAgIH0KICAgICAgICAgS0lP
OjpTdG9yZWRUcmFuc2ZlckpvYiAqam9iID0gS0lPOjpzdG9yZWRIdHRwUG9zdCAoIFFCeXRlQXJy
YXkoKSwgdXJsLCBLSU86OkhpZGVQcm9ncmVzc0luZm8gKSA7CiAgICAgICAgIGlmICggIWpvYiAp
IHsKQEAgLTU2OCw3ICs1NTQsNyBAQCB2b2lkIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnNsb3RSZW1v
dmVQb3N0CiAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4bigiUmVtb3ZpbmcgdGhlIHBvc3Qg
ZmFpbGVkLiAlMSIsIGpvYi0+ZXJyb3JTdHJpbmcoKSApLCBNaWNyb0Jsb2c6OkNyaXRpY2FsICk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgS0lPOjpTdG9yZWRUcmFuc2ZlckpvYiAqc3RqID0gcW9i
amVjdF9jYXN0PEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IqPihqb2IpOwotICAgICAgICBRU3RyaW5n
IGVyck1zZyA9IGNoZWNrWG1sRm9yRXJyb3Ioc3RqLT5kYXRhKCkpOworICAgICAgICBRU3RyaW5n
IGVyck1zZyA9IGNoZWNrSnNvbkZvckVycm9yKHN0ai0+ZGF0YSgpKTsKICAgICAgICAgaWYoIGVy
ck1zZy5pc0VtcHR5KCkgKXsKICAgICAgICAgICAgIGVtaXQgcG9zdFJlbW92ZWQgKCB0aGVBY2Nv
dW50LCBwb3N0ICk7CiAgICAgICAgIH0gZWxzZSB7CkBAIC02MTQsNyArNjAwLDcgQEAgdm9pZCBU
d2l0dGVyQXBpTWljcm9CbG9nOjpzbG90Q3JlYXRlRmF2bwogICAgICAgICBlbWl0IGVycm9yICgg
dGhlQWNjb3VudCwgQ29tbXVuaWNhdGlvbkVycm9yLCBpMThuKCAiRmF2b3JpdGUgY3JlYXRpb24g
ZmFpbGVkLiAlMSIsIGpvYi0+ZXJyb3JTdHJpbmcoKSApICk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgS0lPOjpTdG9yZWRUcmFuc2ZlckpvYiogc3RKb2IgPSBxb2JqZWN0X2Nhc3Q8S0lPOjpTdG9y
ZWRUcmFuc2ZlckpvYio+KCBqb2IgKTsKLSAgICAgICAgUVN0cmluZyBlcnIgPSBjaGVja1htbEZv
ckVycm9yKHN0Sm9iLT5kYXRhKCkpOworICAgICAgICBRU3RyaW5nIGVyciA9IGNoZWNrSnNvbkZv
ckVycm9yKHN0Sm9iLT5kYXRhKCkpOwogICAgICAgICBpZiggIWVyci5pc0VtcHR5KCkgKXsKICAg
ICAgICAgICAgIGVtaXQgZXJyb3IodGhlQWNjb3VudCwgU2VydmVyRXJyb3IsIGVyciwgQ3JpdGlj
YWwpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNjU5LDcgKzY0NSw3IEBAIHZvaWQgVHdpdHRl
ckFwaU1pY3JvQmxvZzo6c2xvdFJlbW92ZUZhdm8KICAgICAgICAgZW1pdCBlcnJvciAoIHRoZUFj
Y291bnQsIENvbW11bmljYXRpb25FcnJvciwgaTE4bigiUmVtb3ZpbmcgdGhlIGZhdm9yaXRlIGZh
aWxlZC4gJTEiLCBqb2ItPmVycm9yU3RyaW5nKCkgKSApOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IqIHN0Sm9iID0gcW9iamVjdF9jYXN0PEtJTzo6U3RvcmVk
VHJhbnNmZXJKb2IqPiggam9iICk7Ci0gICAgICAgIFFTdHJpbmcgZXJyID0gY2hlY2tYbWxGb3JF
cnJvcihzdEpvYi0+ZGF0YSgpKTsKKyAgICAgICAgUVN0cmluZyBlcnIgPSBjaGVja0pzb25Gb3JF
cnJvcihzdEpvYi0+ZGF0YSgpKTsKICAgICAgICAgaWYoICFlcnIuaXNFbXB0eSgpICl7CiAgICAg
ICAgICAgICBlbWl0IGVycm9yKHRoZUFjY291bnQsIFNlcnZlckVycm9yLCBlcnIsIENyaXRpY2Fs
KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTcxMiw3ICs2OTgsNyBAQCB2b2lkIFR3aXR0ZXJB
cGlNaWNyb0Jsb2c6OnNsb3RSZXF1ZXN0RnJpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
UVN0cmluZ0xpc3QgbmV3TGlzdDsKLSAgICBuZXdMaXN0ID0gcmVhZFVzZXJzU2NyZWVuTmFtZUZy
b21YbWwoIHRoZUFjY291bnQsIHN0Sm9iLT5kYXRhKCkgKTsKKyAgICBuZXdMaXN0ID0gcmVhZFVz
ZXJzU2NyZWVuTmFtZUZyb21Kc29uKCB0aGVBY2NvdW50LCBzdEpvYi0+ZGF0YSgpICk7CiAgICAg
ZnJpZW5kc0xpc3QgPDwgbmV3TGlzdDsKICAgICBpZiAoIG5ld0xpc3QuY291bnQoKSA9PSAxMDAg
KSB7CiAgICAgICAgIHJlcXVlc3RGcmllbmRzU2NyZWVuTmFtZSggdGhlQWNjb3VudCApOwpAQCAt
NzQ0LDcgKzczMCw3IEBAIHZvaWQgVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVxdWVzdFRpbWVMaW4K
ICAgICBpbnQgY291bnRPZlBvc3QgPSBDaG9xb2s6OkJlaGF2aW9yU2V0dGluZ3M6OmNvdW50T2ZQ
b3N0cygpOwogCiAgICAgUU9BdXRoOjpQYXJhbU1hcCBwYXJhbXM7Ci0gICAgaWYoIGFjY291bnQt
PnVzaW5nT0F1dGgoKSApeworICAgIGlmKCBhY2NvdW50LT51c2luZ09BdXRoKCkgKXsJLy9UT0RP
OiBDaGVjayBpZiBuZWVkZWQKICAgICAgICAgaWYgKCAhbGF0ZXN0U3RhdHVzSWQuaXNFbXB0eSgp
ICkgewogICAgICAgICAgICAgcGFyYW1zLmluc2VydCAoICJzaW5jZV9pZCIsIGxhdGVzdFN0YXR1
c0lkLnRvTGF0aW4xKCkgKTsKICAgICAgICAgICAgIGNvdW50T2ZQb3N0ID0gMjAwOwpAQCAtODAz
LDE3ICs3ODksMTAgQEAgdm9pZCBUd2l0dGVyQXBpTWljcm9CbG9nOjpzbG90UmVxdWVzdFRpbQog
ICAgICAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9iKiBqID0gcW9iamVjdF9jYXN0PEtJTzo6U3Rv
cmVkVHJhbnNmZXJKb2IqPiggam9iICk7CiAgICAgICAgIFFMaXN0PENob3Fvazo6UG9zdCo+IGxp
c3Q7CiAgICAgICAgIGlmKCB0eXBlPT0iSW5ib3giIHx8IHR5cGU9PSJPdXRib3giICkgewotICAg
ICAgICAgICAgaWYoZm9ybWF0PT0ianNvbiIpewotICAgICAgICAgICAgICAgIGxpc3QgPSByZWFk
RE1lc3NhZ2VzRnJvbUpzb24oIHRoZUFjY291bnQsIGotPmRhdGEoKSApOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBsaXN0ID0gcmVhZERNZXNzYWdlc0Zyb21YbWwoIHRo
ZUFjY291bnQsIGotPmRhdGEoKSApOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgbGlzdCA9
IHJlYWRETWVzc2FnZXNGcm9tSnNvbiggdGhlQWNjb3VudCwgai0+ZGF0YSgpICk7CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBpZihmb3JtYXQ9PSJqc29uIil7Ci0gICAgICAgICAgICAg
ICAgbGlzdCA9IHJlYWRUaW1lbGluZUZyb21Kc29uKCB0aGVBY2NvdW50LCBqLT5kYXRhKCkgKTsK
LSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbGlzdCA9IHJlYWRUaW1lbGlu
ZUZyb21YbWwoIHRoZUFjY291bnQsIGotPmRhdGEoKSApOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgbGlzdCA9IHJlYWRUaW1lbGluZUZyb21Kc29uKCB0aGVBY2NvdW50LCBqLT5kYXRhKCkg
KTsKKwogICAgICAgICB9CiAgICAgICAgIGlmKCFsaXN0LmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgbVRpbWVsaW5lTGF0ZXN0SWRbdGhlQWNjb3VudF1bdHlwZV0gPSBsaXN0Lmxhc3QoKS0+cG9z
dElkOwpAQCAtODM3LDcgKzgxNiw3IEBAIFFCeXRlQXJyYXkgVHdpdHRlckFwaU1pY3JvQmxvZzo6
YXV0aG9yaXoKICAgICByZXR1cm4gYXV0aDsKIH0KIAotQ2hvcW9rOjpQb3N0ICogVHdpdHRlckFw
aU1pY3JvQmxvZzo6cmVhZFBvc3RGcm9tWG1sICggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50
LAorLypDaG9xb2s6OlBvc3QgKiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkUG9zdEZyb21YbWwg
KCBDaG9xb2s6OkFjY291bnQqIHRoZUFjY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRQnl0ZUFycmF5JiBidWZmZXIsIENo
b3Fvazo6UG9zdCogcG9zdCApCiB7CiAgICAgUURvbURvY3VtZW50IGRvY3VtZW50OwpAQCAtODU3
LDkgKzgzNiw5IEBAIENob3Fvazo6UG9zdCAqIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWQKICAg
ICAgICAgcG9zdC0+aXNFcnJvciA9IHRydWU7CiAgICAgICAgIHJldHVybiBwb3N0OwogICAgIH0K
LX0KK30qLwogCi1DaG9xb2s6OlBvc3QgKiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkUG9zdEZy
b21Eb21FbGVtZW50ICggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LAorLypDaG9xb2s6OlBv
c3QgKiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkUG9zdEZyb21Eb21FbGVtZW50ICggQ2hvcW9r
OjpBY2NvdW50KiB0aGVBY2NvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFEb21FbGVtZW50ICZyb290LCBDaG9x
b2s6OlBvc3QqIHBvc3QgKQogewogICAgIGlmKCFwb3N0KXsKQEAgLTg3Niw5ICs4NTUsOSBAQCBD
aG9xb2s6OlBvc3QgKiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkCiAgICAgUURvbU5vZGUgbm9k
ZTIgPSByb290LmZpcnN0Q2hpbGQoKTsKIAogICAgIHJldHVybiByZWFkUG9zdEZyb21Eb21Ob2Rl
KHRoZUFjY291bnQsIG5vZGUyLCBwb3N0KTs7Ci19Cit9Ki8KIAotQ2hvcW9rOjpQb3N0KiBUd2l0
dGVyQXBpTWljcm9CbG9nOjpyZWFkUG9zdEZyb21Eb21Ob2RlKENob3Fvazo6QWNjb3VudCogdGhl
QWNjb3VudCwKKy8qQ2hvcW9rOjpQb3N0KiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkUG9zdEZy
b21Eb21Ob2RlKENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRRG9tTm9kZSBub2RlLCBDaG9x
b2s6OlBvc3QqIHBvc3QpCiB7CiAgICAgQ2hvcW9rOjpQb3N0KiByZXBlYXRlZFBvc3QgPSAwOwpA
QCAtOTM1LDkgKzkxNCw5IEBAIENob3Fvazo6UG9zdCogVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVh
ZFAKICAgICBwb3N0LT5saW5rID0gcG9zdFVybCh0aGVBY2NvdW50LCBwb3N0LT5hdXRob3IudXNl
ck5hbWUsIHBvc3QtPnBvc3RJZCk7CiAgICAgcG9zdC0+aXNSZWFkID0gcG9zdC0+aXNGYXZvcml0
ZWQgfHwgKHBvc3QtPnJlcGVhdGVkRnJvbVVzZXJuYW1lLmNvbXBhcmUodGhlQWNjb3VudC0+dXNl
cm5hbWUoKSwgUXQ6OkNhc2VJbnNlbnNpdGl2ZSkgPT0gMCk7CiAgICAgcmV0dXJuIHBvc3Q7Ci19
Cit9Ki8KIAotUUxpc3Q8Q2hvcW9rOjpQb3N0Kj4gVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZFRp
bWVsaW5lRnJvbVhtbCAoIENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwKKy8qUUxpc3Q8Q2hv
cW9rOjpQb3N0Kj4gVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZFRpbWVsaW5lRnJvbVhtbCAoIENo
b3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRQnl0ZUFycmF5ICZidWZm
ZXIgKQogewogICAgIFFEb21Eb2N1bWVudCBkb2N1bWVudDsKQEAgLTk1OSw5ICs5MzgsOSBAQCBR
TGlzdDxDaG9xb2s6OlBvc3QqPiBUd2l0dGVyQXBpTWljcm9CbG9nCiAgICAgICAgIG5vZGUgPSBu
b2RlLm5leHRTaWJsaW5nKCk7CiAgICAgfQogICAgIHJldHVybiBwb3N0TGlzdDsKLX0KK30qLwog
Ci1DaG9xb2s6OlBvc3QgKiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkRE1lc3NhZ2VGcm9tWG1s
IChDaG9xb2s6OkFjY291bnQgKnRoZUFjY291bnQsIGNvbnN0IFFCeXRlQXJyYXkgJmJ1ZmZlciAp
CisvKkNob3Fvazo6UG9zdCAqIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWRETWVzc2FnZUZyb21Y
bWwgKENob3Fvazo6QWNjb3VudCAqdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJheSAmYnVmZmVy
ICkKIHsKICAgICBRRG9tRG9jdW1lbnQgZG9jdW1lbnQ7CiAgICAgZG9jdW1lbnQuc2V0Q29udGVu
dCAoIGJ1ZmZlciApOwpAQCAtOTc3LDkgKzk1Niw5IEBAIENob3Fvazo6UG9zdCAqIFR3aXR0ZXJB
cGlNaWNyb0Jsb2c6OnJlYWQKICAgICAgICAgICAgIFFfRU1JVCBlcnJvcih0aGVBY2NvdW50LCBT
ZXJ2ZXJFcnJvciwgZXJyKTsKICAgICAgICAgcmV0dXJuIHBvc3Q7CiAgICAgfQotfQorfSovCiAK
LUNob3Fvazo6UG9zdCAqIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWRETWVzc2FnZUZyb21Eb21F
bGVtZW50ICggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LAorLypDaG9xb2s6OlBvc3QgKiBU
d2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkRE1lc3NhZ2VGcm9tRG9tRWxlbWVudCAoIENob3Fvazo6
QWNjb3VudCogdGhlQWNjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUURvbUVsZW1lbnQmIHJvb3QgKQog
ewogICAgIENob3Fvazo6UG9zdCAqbXNnID0gbmV3IENob3Fvazo6UG9zdDsKQEAgLTEwNjAsOSAr
MTAzOSw5IEBAIENob3Fvazo6UG9zdCAqIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWQKICAgICAg
ICAgbXNnLT5yZXBseVRvVXNlck5hbWUgPSByZWNpcGllbnRTY3JlZW5OYW1lOwogICAgIH0KICAg
ICByZXR1cm4gbXNnOwotfQorfSovCiAKLVFMaXN0PENob3Fvazo6UG9zdCo+IFR3aXR0ZXJBcGlN
aWNyb0Jsb2c6OnJlYWRETWVzc2FnZXNGcm9tWG1sIChDaG9xb2s6OkFjY291bnQgKnRoZUFjY291
bnQsCisvKlFMaXN0PENob3Fvazo6UG9zdCo+IFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWRETWVz
c2FnZXNGcm9tWG1sIChDaG9xb2s6OkFjY291bnQgKnRoZUFjY291bnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
UUJ5dGVBcnJheSAmYnVmZmVyICkKIHsKICAgICBRRG9tRG9jdW1lbnQgZG9jdW1lbnQ7CkBAIC0x
MDg0LDkgKzEwNjMsOSBAQCBRTGlzdDxDaG9xb2s6OlBvc3QqPiBUd2l0dGVyQXBpTWljcm9CbG9n
CiAgICAgICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nKCk7CiAgICAgfQogICAgIHJldHVybiBw
b3N0TGlzdDsKLX0KK30qLwogCi1RU3RyaW5nTGlzdCBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFk
VXNlcnNTY3JlZW5OYW1lRnJvbVhtbCggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LCBjb25z
dCBRQnl0ZUFycmF5JiBidWZmZXIgKQorLypRU3RyaW5nTGlzdCBUd2l0dGVyQXBpTWljcm9CbG9n
OjpyZWFkVXNlcnNTY3JlZW5OYW1lRnJvbVhtbCggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50
LCBjb25zdCBRQnl0ZUFycmF5JiBidWZmZXIgKQogewogICAgIGtEZWJ1ZygpOwogICAgIFFTdHJp
bmdMaXN0IGxpc3Q7CkBAIC0xMTMxLDcgKzExMTAsNyBAQCBRU3RyaW5nTGlzdCBUd2l0dGVyQXBp
TWljcm9CbG9nOjpyZWFkVXNlCiAgICAgICAgIHNlY3Rpb24gPSBzZWN0aW9uLm5leHRTaWJsaW5n
KCk7CiAgICAgfQogICAgIHJldHVybiBsaXN0OwotfQorfSovCiAKIHZvaWQgVHdpdHRlckFwaU1p
Y3JvQmxvZzo6c2V0UmVwZWF0ZWRPZkluZm8oQ2hvcW9rOjpQb3N0KiBwb3N0LCBDaG9xb2s6OlBv
c3QqIHJlcGVhdGVkUG9zdCkKIHsKQEAgLTExNzEsNyArMTE1MCw2IEBAIHZvaWQgVHdpdHRlckFw
aU1pY3JvQmxvZzo6YWJvdXRUb1VubG9hZCgKICAgICBkLT5jb3VudE9mVGltZWxpbmVzVG9TYXZl
ID0gMDsKICAgICBmb3JlYWNoKENob3Fvazo6QWNjb3VudCogYWNjLCBDaG9xb2s6OkFjY291bnRN
YW5hZ2VyOjpzZWxmKCktPmFjY291bnRzKCkpewogICAgICAgICBpZihhY2MtPm1pY3JvYmxvZygp
ID09IHRoaXMpewotLy8gICAgICAgICAgICAgYWNjLT53cml0ZUNvbmZpZygpOwogICAgICAgICAg
ICAgZC0+Y291bnRPZlRpbWVsaW5lc1RvU2F2ZSArPSBhY2MtPnRpbWVsaW5lTmFtZXMoKS5jb3Vu
dCgpOwogICAgICAgICB9CiAgICAgfQpAQCAtMTI1NywxNCArMTIzNSwxNCBAQCB2b2lkIFR3aXR0
ZXJBcGlNaWNyb0Jsb2c6OnNsb3RDcmVhdGVGcmllCiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgS0lPOjpTdG9yZWRUcmFuc2ZlckpvYiAqc3RqID0gcW9iamVjdF9jYXN0PEtJTzo6U3RvcmVk
VHJhbnNmZXJKb2IqPihqb2IpOwotICAgIENob3Fvazo6VXNlciAqdXNlciA9IHJlYWRVc2VySW5m
b0Zyb21YbWwoc3RqLT5kYXRhKCkpOworICAgIENob3Fvazo6VXNlciAqdXNlciA9IHJlYWRVc2Vy
SW5mb0Zyb21Kc29uKHN0ai0+ZGF0YSgpKTsKICAgICBpZiggdXNlciAvKiYmIHVzZXItPnVzZXJO
YW1lLmNvbXBhcmUodXNlcm5hbWUsIFF0OjpDYXNlSW5zZW5zaXRpdmUpKi8gKXsKICAgICAgICAg
ZW1pdCBmcmllbmRzaGlwQ3JlYXRlZCh0aGVBY2NvdW50LCB1c2VybmFtZSk7CiAgICAgICAgIENo
b3Fvazo6Tm90aWZ5TWFuYWdlcjo6c3VjY2VzcyggaTE4bigiWW91IGFyZSBub3cgbGlzdGVuaW5n
IHRvICUxJ3MgcG9zdHMuIiwgdXNlcm5hbWUpICk7CiAgICAgICAgIHRoZUFjY291bnQtPnNldEZy
aWVuZHNMaXN0KFFTdHJpbmdMaXN0KCkpOwogICAgICAgICBsaXN0RnJpZW5kc1VzZXJuYW1lKHRo
ZUFjY291bnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFFTdHJpbmcgZXJyb3JNc2cgPSBjaGVj
a1htbEZvckVycm9yKHN0ai0+ZGF0YSgpKTsKKyAgICAgICAgUVN0cmluZyBlcnJvck1zZyA9IGNo
ZWNrSnNvbkZvckVycm9yKHN0ai0+ZGF0YSgpKTsKICAgICAgICAgaWYoIGVycm9yTXNnLmlzRW1w
dHkoKSApewogICAgICAgICAgICAga0RlYnVnKCk8PCJQYXJzZSBFcnJvcjogIjw8c3RqLT5kYXRh
KCk7CiAgICAgICAgICAgICBlbWl0IGVycm9yKCB0aGVBY2NvdW50LCBQYXJzaW5nRXJyb3IsCkBA
IC0xMzE1LDE0ICsxMjkzLDE0IEBAIHZvaWQgVHdpdHRlckFwaU1pY3JvQmxvZzo6c2xvdERlc3Ry
b3lGcmkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9i
ICpzdGogPSBxb2JqZWN0X2Nhc3Q8S0lPOjpTdG9yZWRUcmFuc2ZlckpvYio+KGpvYik7Ci0gICAg
Q2hvcW9rOjpVc2VyICp1c2VyID0gcmVhZFVzZXJJbmZvRnJvbVhtbChzdGotPmRhdGEoKSk7Cisg
ICAgQ2hvcW9rOjpVc2VyICp1c2VyID0gcmVhZFVzZXJJbmZvRnJvbUpzb24oc3RqLT5kYXRhKCkp
OwogICAgIGlmKCB1c2VyIC8qJiYgdXNlci0+dXNlck5hbWUuY29tcGFyZSggdXNlcm5hbWUsIFF0
OjpDYXNlSW5zZW5zaXRpdmUgKSovICl7CiAgICAgICAgIGVtaXQgZnJpZW5kc2hpcERlc3Ryb3ll
ZCh0aGVBY2NvdW50LCB1c2VybmFtZSk7CiAgICAgICAgIENob3Fvazo6Tm90aWZ5TWFuYWdlcjo6
c3VjY2VzcyggaTE4bigiWW91IHdpbGwgbm90IHJlY2VpdmUgJTEncyB1cGRhdGVzLiIsIHVzZXJu
YW1lKSApOwogICAgICAgICB0aGVBY2NvdW50LT5zZXRGcmllbmRzTGlzdChRU3RyaW5nTGlzdCgp
KTsKICAgICAgICAgbGlzdEZyaWVuZHNVc2VybmFtZSh0aGVBY2NvdW50KTsKICAgICB9IGVsc2Ug
ewotICAgICAgICBRU3RyaW5nIGVycm9yTXNnID0gY2hlY2tYbWxGb3JFcnJvcihzdGotPmRhdGEo
KSk7CisgICAgICAgIFFTdHJpbmcgZXJyb3JNc2cgPSBjaGVja0pzb25Gb3JFcnJvcihzdGotPmRh
dGEoKSk7CiAgICAgICAgIGlmKCBlcnJvck1zZy5pc0VtcHR5KCkgKXsKICAgICAgICAgICAgIGtE
ZWJ1ZygpPDwiUGFyc2UgRXJyb3I6ICI8PHN0ai0+ZGF0YSgpOwogICAgICAgICAgICAgZW1pdCBl
cnJvciggdGhlQWNjb3VudCwgUGFyc2luZ0Vycm9yLApAQCAtMTM3MSw3ICsxMzQ5LDcgQEAgdm9p
ZCBUd2l0dGVyQXBpTWljcm9CbG9nOjpzbG90QmxvY2tVc2VyKAogICAgICAgICAgICAgICAgICAg
ICAgaTE4bigiQmxvY2tpbmcgJTEgZmFpbGVkLiAlMiIsIHVzZXJuYW1lLCBqb2ItPmVycm9yU3Ry
aW5nKCkgKSApOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIENob3Fvazo6VXNlciAqdXNl
ciA9IHJlYWRVc2VySW5mb0Zyb21YbWwocW9iamVjdF9jYXN0PEtJTzo6U3RvcmVkVHJhbnNmZXJK
b2IqPihqb2IpLT5kYXRhKCkpOworICAgIENob3Fvazo6VXNlciAqdXNlciA9IHJlYWRVc2VySW5m
b0Zyb21Kc29uKHFvYmplY3RfY2FzdDxLSU86OlN0b3JlZFRyYW5zZmVySm9iKj4oam9iKS0+ZGF0
YSgpKTsKICAgICBpZiggdXNlciAvKiYmIHVzZXItPnVzZXJOYW1lLmNvbXBhcmUoIHVzZXJuYW1l
LCBRdDo6Q2FzZUluc2Vuc2l0aXZlICkqLyApewogICAgICAgICBlbWl0IHVzZXJCbG9ja2VkKHRo
ZUFjY291bnQsIHVzZXJuYW1lKTsKICAgICAgICAgQ2hvcW9rOjpOb3RpZnlNYW5hZ2VyOjpzdWNj
ZXNzKCBpMThuKCJZb3Ugd2lsbCBubyBsb25nZXIgYmUgZGlzdHVyYmVkIGJ5ICUxLiIsIHVzZXJu
YW1lKSApOwpAQCAtMTM4MSwxMCArMTM1OSwxMCBAQCB2b2lkIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6
OnNsb3RCbG9ja1VzZXIoCiAgICAgICAgICAgICAgICAgICAgICBpMThuKCJCbG9ja2luZyAlMSBm
YWlsZWQ6IHRoZSBzZXJ2ZXIgcmV0dXJuZWQgaW52YWxpZCBkYXRhLiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVzZXJuYW1lICkgKTsKICAgICB9Ci0vLyAgICAgQ2hvcW9rOjpVc2VyICp1
c2VyID0gcmVhZFVzZXJJbmZvRnJvbVhtbCgpOyBUT0RPIENoZWNrIGZvciBmYWlsb3IhCisgICAg
Ly9UT0RPIENoZWNrIGZvciBmYWlsb3IhCiB9CiAKLUNob3Fvazo6VXNlciogVHdpdHRlckFwaU1p
Y3JvQmxvZzo6cmVhZFVzZXJJbmZvRnJvbVhtbChjb25zdCBRQnl0ZUFycmF5JiBidWZmZXIpCisv
KkNob3Fvazo6VXNlciogVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZFVzZXJJbmZvRnJvbVhtbChj
b25zdCBRQnl0ZUFycmF5JiBidWZmZXIpCiB7CiAgICAgUURvbURvY3VtZW50IGRvYzsKICAgICBk
b2Muc2V0Q29udGVudChidWZmZXIpOwpAQCAtMTQyMSw5ICsxMzk5LDkgQEAgQ2hvcW9rOjpVc2Vy
KiBUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkVQogICAgICAgICBub2RlID0gbm9kZS5uZXh0U2li
bGluZygpOwogICAgIH0KICAgICByZXR1cm4gdXNlcjsKLX0KK30qLwogCi1RU3RyaW5nIFR3aXR0
ZXJBcGlNaWNyb0Jsb2c6OmNoZWNrWG1sRm9yRXJyb3IoY29uc3QgUUJ5dGVBcnJheSYgYnVmZmVy
KQorLypRU3RyaW5nIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OmNoZWNrWG1sRm9yRXJyb3IoY29uc3Qg
UUJ5dGVBcnJheSYgYnVmZmVyKQogewogICAgIFFEb21Eb2N1bWVudCBkb2M7CiAgICAgZG9jLnNl
dENvbnRlbnQoYnVmZmVyKTsKQEAgLTE0NDYsNyArMTQyNCw3IEBAIFFTdHJpbmcgVHdpdHRlckFw
aU1pY3JvQmxvZzo6Y2hlY2tYbWxGb3IKICAgICB9IGVsc2UgewogICAgICAgICByZXR1cm4gUVN0
cmluZygpOwogICAgIH0KLX0KK30qLwogCiAvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKQEAgLTE1MDMsNyArMTQ4
MSw3IEBAIENob3Fvazo6UG9zdCogVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZFAKICAgICAgICAg
cmV0dXJuIHJlYWRQb3N0RnJvbUpzb25NYXAgKCB0aGVBY2NvdW50LCBtYXAsIHBvc3QgKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBpZighcG9zdCl7Ci0gICAgICAgICAgICBrRXJyb3IoKTw8IlR3
aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWRQb3N0RnJvbVhtbDogcG9zdCBpcyBOVUxMISI7CisgICAg
ICAgICAgICBrRXJyb3IoKTw8IlR3aXR0ZXJBcGlNaWNyb0Jsb2c6OnJlYWRQb3N0RnJvbUpzb246
IHBvc3QgaXMgTlVMTCEiOwogICAgICAgICAgICAgcG9zdCA9IG5ldyBDaG9xb2s6OlBvc3Q7CiAg
ICAgICAgIH0KICAgICAgICAgZW1pdCBlcnJvclBvc3QodGhlQWNjb3VudCwgcG9zdCwgUGFyc2lu
Z0Vycm9yLCBpMThuKCJDb3VsZCBub3QgcGFyc2UgdGhlIGRhdGEgdGhhdCBoYXMgYmVlbiByZWNl
aXZlZCBmcm9tIHRoZSBzZXJ2ZXIuIikpOwpkaWZmIC1ydXBOICctLWV4Y2x1ZGU9LionIC4vY2hv
cW9rL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpbWljcm9ibG9nLmggLi9j
aG9xb2tfZGUvaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGltaWNyb2Jsb2cu
aAotLS0gLi9jaG9xb2svaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGltaWNy
b2Jsb2cuaAkyMDEzLTA2LTE2IDE1OjU1OjAyLjEwOTMxNDcwMSArMDIwMAorKysgLi9jaG9xb2tf
ZGUvaGVscGVybGlicy90d2l0dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGltaWNyb2Jsb2cuaAkyMDEz
LTA2LTE2IDE1OjQ0OjU0LjU5NDM1ODU4OSArMDIwMApAQCAtMjEyLDIyICsyMTIsMjIgQEAgcHJv
dGVjdGVkOgogICAgIC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KICAgICAvLy8gWE1MOgogICAgIC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLSAgICB2aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRQb3N0RnJv
bURvbUVsZW1lbnQoIENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFEb21FbGVtZW50JiBy
b290LCBDaG9xb2s6OlBvc3QqIHBvc3QgKTsKLSAgICB2aXJ0dWFsIENob3Fvazo6UG9zdCAqcmVh
ZFBvc3RGcm9tRG9tTm9kZShDaG9xb2s6OkFjY291bnQqIHRoZUFjY291bnQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUURvbU5vZGUgbm9kZSwgQ2hvcW9r
OjpQb3N0KiBwb3N0KTsKLSAgICB2aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRQb3N0RnJvbVht
bCggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBRQnl0ZUFycmF5JiBidWZmZXIsIENob3Fvazo6UG9z
dCogcG9zdCApOwotICAgIHZpcnR1YWwgUUxpc3Q8Q2hvcW9rOjpQb3N0Kj4gcmVhZFRpbWVsaW5l
RnJvbVhtbCggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LCBjb25zdCBRQnl0ZUFycmF5JiBi
dWZmZXIgKTsKLSAgICB2aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRETWVzc2FnZUZyb21YbWwg
KENob3Fvazo6QWNjb3VudCAqdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJheSAmYnVmZmVyICk7
Ci0gICAgdmlydHVhbCBDaG9xb2s6OlBvc3QgKiByZWFkRE1lc3NhZ2VGcm9tRG9tRWxlbWVudCAo
Q2hvcW9rOjpBY2NvdW50ICp0aGVBY2NvdW50LCBjb25zdCBRRG9tRWxlbWVudCYgcm9vdCApOwot
ICAgIHZpcnR1YWwgUUxpc3Q8Q2hvcW9rOjpQb3N0Kj4gcmVhZERNZXNzYWdlc0Zyb21YbWwgKENo
b3Fvazo6QWNjb3VudCAqdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJheSAmYnVmZmVyICk7Ci0g
ICAgdmlydHVhbCBRU3RyaW5nTGlzdCByZWFkVXNlcnNTY3JlZW5OYW1lRnJvbVhtbCggQ2hvcW9r
OjpBY2NvdW50ICp0aGVBY2NvdW50LCBjb25zdCBRQnl0ZUFycmF5ICYgYnVmZmVyICk7Ci0gICAg
dmlydHVhbCBDaG9xb2s6OlVzZXIgKnJlYWRVc2VySW5mb0Zyb21YbWwoIGNvbnN0IFFCeXRlQXJy
YXkgJmJ1ZmZlciApOworICAgIC8vdmlydHVhbCBDaG9xb2s6OlBvc3QgKiByZWFkUG9zdEZyb21E
b21FbGVtZW50KCBDaG9xb2s6OkFjY291bnQqIHRoZUFjY291bnQsCisgICAgLy8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFEb21FbGVtZW50JiBy
b290LCBDaG9xb2s6OlBvc3QqIHBvc3QgKTsKKyAgICAvL3ZpcnR1YWwgQ2hvcW9rOjpQb3N0ICpy
ZWFkUG9zdEZyb21Eb21Ob2RlKENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwKKyAgICAvLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFEb21Ob2RlIG5vZGUsIENo
b3Fvazo6UG9zdCogcG9zdCk7CisgICAgLy92aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRQb3N0
RnJvbVhtbCggQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2NvdW50LAorICAgIC8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFCeXRlQXJyYXkmIGJ1ZmZlciwgQ2hv
cW9rOjpQb3N0KiBwb3N0ICk7CisgICAgLy92aXJ0dWFsIFFMaXN0PENob3Fvazo6UG9zdCo+IHJl
YWRUaW1lbGluZUZyb21YbWwoIENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwgY29uc3QgUUJ5
dGVBcnJheSYgYnVmZmVyICk7CisgICAgLy92aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRETWVz
c2FnZUZyb21YbWwgKENob3Fvazo6QWNjb3VudCAqdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJh
eSAmYnVmZmVyICk7CisgICAgLy92aXJ0dWFsIENob3Fvazo6UG9zdCAqIHJlYWRETWVzc2FnZUZy
b21Eb21FbGVtZW50IChDaG9xb2s6OkFjY291bnQgKnRoZUFjY291bnQsIGNvbnN0IFFEb21FbGVt
ZW50JiByb290ICk7CisgICAgLy92aXJ0dWFsIFFMaXN0PENob3Fvazo6UG9zdCo+IHJlYWRETWVz
c2FnZXNGcm9tWG1sIChDaG9xb2s6OkFjY291bnQgKnRoZUFjY291bnQsIGNvbnN0IFFCeXRlQXJy
YXkgJmJ1ZmZlciApOworICAgIC8vdmlydHVhbCBRU3RyaW5nTGlzdCByZWFkVXNlcnNTY3JlZW5O
YW1lRnJvbVhtbCggQ2hvcW9rOjpBY2NvdW50ICp0aGVBY2NvdW50LCBjb25zdCBRQnl0ZUFycmF5
ICYgYnVmZmVyICk7CisgICAgLy92aXJ0dWFsIENob3Fvazo6VXNlciAqcmVhZFVzZXJJbmZvRnJv
bVhtbCggY29uc3QgUUJ5dGVBcnJheSAmYnVmZmVyICk7CiAgICAgLyoqCiAgICAgQ2hlY2tzIHht
bCByZXR1cm5lZCBmcm9tIHNlcnZlciBmb3IgZXJyb3IsIGFuZCByZXR1cm4gZXJyb3Igc3RyaW5n
LCBPciBhbiBlbXB0eSBzdHJpbmcgaWYgbm90aGluZyBmb3VuZCEKICAgICAqLwotICAgIHZpcnR1
YWwgUVN0cmluZyBjaGVja1htbEZvckVycm9yKGNvbnN0IFFCeXRlQXJyYXkgJmJ1ZmZlcik7Cisg
ICAgLy92aXJ0dWFsIFFTdHJpbmcgY2hlY2tYbWxGb3JFcnJvcihjb25zdCBRQnl0ZUFycmF5ICZi
dWZmZXIpOwogCiAgICAgLy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KICAgICAvLy8gSlNPTjoKQEAgLTI0Niw3ICsyNDYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCBDaG9xb2s6OlVzZXIgKnJlYWRVc2VySW5mb0Zyb21Kc29uKCBjb25zdCBRQnl0
ZUFycmF5ICZidWZmZXIgKTsKICAgICB2aXJ0dWFsIENob3Fvazo6VXNlciByZWFkVXNlckZyb21K
c29uTWFwKCBDaG9xb2s6OkFjY291bnQqIHRoZUFjY291bnQsIGNvbnN0IFFWYXJpYW50TWFwJiBt
YXAgKTsKICAgICAvKioKLSAgICBDaGVja3MgeG1sIHJldHVybmVkIGZyb20gc2VydmVyIGZvciBl
cnJvciwgYW5kIHJldHVybiBlcnJvciBzdHJpbmcsIE9yIGFuIGVtcHR5IHN0cmluZyBpZiBub3Ro
aW5nIGZvdW5kIQorICAgIENoZWNrcyBqc29uIHJldHVybmVkIGZyb20gc2VydmVyIGZvciBlcnJv
ciwgYW5kIHJldHVybiBlcnJvciBzdHJpbmcsIE9yIGFuIGVtcHR5IHN0cmluZyBpZiBub3RoaW5n
IGZvdW5kIQogICAgICovCiAgICAgdmlydHVhbCBRU3RyaW5nIGNoZWNrSnNvbkZvckVycm9yKGNv
bnN0IFFCeXRlQXJyYXkgJmJ1ZmZlcik7CiAgICAgLy8vPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC1ydXBOICctLWV4Y2x1ZGU9LionIC4vY2hv
cW9rL21pY3JvYmxvZ3MvbGFjb25pY2EvbGFjb25pY2FtaWNyb2Jsb2cuY3BwIC4vY2hvcW9rX2Rl
L21pY3JvYmxvZ3MvbGFjb25pY2EvbGFjb25pY2FtaWNyb2Jsb2cuY3BwCi0tLSAuL2Nob3Fvay9t
aWNyb2Jsb2dzL2xhY29uaWNhL2xhY29uaWNhbWljcm9ibG9nLmNwcAkyMDEzLTA2LTE2IDE1OjU1
OjAyLjExOTMxNDcwMCArMDIwMAorKysgLi9jaG9xb2tfZGUvbWljcm9ibG9ncy9sYWNvbmljYS9s
YWNvbmljYW1pY3JvYmxvZy5jcHAJMjAxMy0wNi0xNiAxNTo0NDo1NC42MDQzNTg1ODggKzAyMDAK
QEAgLTI2NywxMSArMjY3LDExIEBAIHZvaWQgTGFjb25pY2FNaWNyb0Jsb2c6OnNsb3RSZXF1ZXN0
RnJpZW4KICAgICBUd2l0dGVyQXBpQWNjb3VudCAqdGhlQWNjb3VudCA9IHFvYmplY3RfY2FzdDxU
d2l0dGVyQXBpQWNjb3VudCAqPiggbUpvYnNBY2NvdW50LnRha2Uoam9iKSApOwogICAgIEtJTzo6
U3RvcmVkVHJhbnNmZXJKb2IqIHN0Sm9iID0gcW9iamVjdF9jYXN0PEtJTzo6U3RvcmVkVHJhbnNm
ZXJKb2IqPiggam9iICk7CiAgICAgUVN0cmluZ0xpc3QgbmV3TGlzdDsKLSAgICBpZihmb3JtYXQ9
PSJqc29uIil7CisgICAgLy9pZihmb3JtYXQ9PSJqc29uIil7CiAgICAgICAgIG5ld0xpc3QgPSBy
ZWFkVXNlcnNTY3JlZW5OYW1lRnJvbUpzb24oIHRoZUFjY291bnQsIHN0Sm9iLT5kYXRhKCkgKTsK
LSAgICB9IGVsc2UgewotICAgICAgICBuZXdMaXN0ID0gcmVhZFVzZXJzU2NyZWVuTmFtZUZyb21Y
bWwoIHRoZUFjY291bnQsIHN0Sm9iLT5kYXRhKCkgKTsKLSAgICB9CisgICAgLy99IGVsc2Ugewor
ICAgIC8vICAgIG5ld0xpc3QgPSByZWFkVXNlcnNTY3JlZW5OYW1lRnJvbVhtbCggdGhlQWNjb3Vu
dCwgc3RKb2ItPmRhdGEoKSApOworICAgIC8vfQogICAgIGZyaWVuZHNMaXN0IDw8IG5ld0xpc3Q7
CiAgICAgaWYgKCBuZXdMaXN0LmNvdW50KCkgPT0gMTAwICkgewogICAgICAgICBkb1JlcXVlc3RG
cmllbmRzU2NyZWVuTmFtZSggdGhlQWNjb3VudCwgKytmcmllbmRzUGFnZSApOwpAQCAtMjgyLDcg
KzI4Miw3IEBAIHZvaWQgTGFjb25pY2FNaWNyb0Jsb2c6OnNsb3RSZXF1ZXN0RnJpZW4KICAgICB9
CiB9CiAKLVFTdHJpbmdMaXN0IExhY29uaWNhTWljcm9CbG9nOjpyZWFkVXNlcnNTY3JlZW5OYW1l
RnJvbVhtbChDaG9xb2s6OkFjY291bnQqIHRoZUFjY291bnQsIGNvbnN0IFFCeXRlQXJyYXkmIGJ1
ZmZlcikKKy8qUVN0cmluZ0xpc3QgTGFjb25pY2FNaWNyb0Jsb2c6OnJlYWRVc2Vyc1NjcmVlbk5h
bWVGcm9tWG1sKENob3Fvazo6QWNjb3VudCogdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJheSYg
YnVmZmVyKQogewogICAgIGtEZWJ1ZygpOwogICAgIFFTdHJpbmdMaXN0IGxpc3Q7CkBAIC0zMjAs
NyArMzIwLDcgQEAgUVN0cmluZ0xpc3QgTGFjb25pY2FNaWNyb0Jsb2c6OnJlYWRVc2VycwogICAg
ICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZygpOwogICAgIH0KICAgICByZXR1cm4gbGlzdDsK
LX0KK30qLwogCiB2b2lkIExhY29uaWNhTWljcm9CbG9nOjpmZXRjaENvbnZlcnNhdGlvbihDaG9x
b2s6OkFjY291bnQqIHRoZUFjY291bnQsIGNvbnN0IENob3Fva0lkJiBjb252ZXJzYXRpb25JZCkK
IHsKQEAgLTM2MCwxMSArMzYwLDExIEBAIHZvaWQgTGFjb25pY2FNaWNyb0Jsb2c6OnNsb3RGZXRj
aENvbnZlcnMKICAgICAgICAgICAgICAgICAgICAgIGkxOG4oIkZldGNoaW5nIGNvbnZlcnNhdGlv
biBmYWlsZWQuICUxIiwgam9iLT5lcnJvclN0cmluZygpKSwgTm9ybWFsICk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgS0lPOjpTdG9yZWRUcmFuc2ZlckpvYiAqc3RqID0gcW9iamVjdF9jYXN0PEtJ
Tzo6U3RvcmVkVHJhbnNmZXJKb2IgKj4gKCBqb2IgKTsKLSAgICAgICAgaWYoZm9ybWF0PT0ianNv
biIpeworICAgICAgICAvL2lmKGZvcm1hdD09Impzb24iKXsKICAgICAgICAgICAgIHBvc3RzID0g
cmVhZFRpbWVsaW5lRnJvbUpzb24gKCB0aGVBY2NvdW50LCBzdGotPmRhdGEoKSApOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgcG9zdHMgPSByZWFkVGltZWxpbmVGcm9tWG1sICggdGhl
QWNjb3VudCwgc3RqLT5kYXRhKCkgKTsKLSAgICAgICAgfQorICAgICAgICAvL30gZWxzZSB7Cisg
ICAgICAgIC8vICAgIHBvc3RzID0gcmVhZFRpbWVsaW5lRnJvbVhtbCAoIHRoZUFjY291bnQsIHN0
ai0+ZGF0YSgpICk7CisgICAgICAgIC8vfQogICAgICAgICBpZiggIXBvc3RzLmlzRW1wdHkoKSAp
ewogICAgICAgICAgICAgZW1pdCBjb252ZXJzYXRpb25GZXRjaGVkKHRoZUFjY291bnQsIGNvbnZl
cnNhdGlvbklkLCBwb3N0cyk7CiAgICAgICAgIH0KZGlmZiAtcnVwTiAnLS1leGNsdWRlPS4qJyAu
L2Nob3Fvay9taWNyb2Jsb2dzL2xhY29uaWNhL2xhY29uaWNhbWljcm9ibG9nLmggLi9jaG9xb2tf
ZGUvbWljcm9ibG9ncy9sYWNvbmljYS9sYWNvbmljYW1pY3JvYmxvZy5oCi0tLSAuL2Nob3Fvay9t
aWNyb2Jsb2dzL2xhY29uaWNhL2xhY29uaWNhbWljcm9ibG9nLmgJMjAxMy0wNi0xNiAxNTo1NTow
Mi4xMTkzMTQ3MDAgKzAyMDAKKysrIC4vY2hvcW9rX2RlL21pY3JvYmxvZ3MvbGFjb25pY2EvbGFj
b25pY2FtaWNyb2Jsb2cuaAkyMDEzLTA2LTE2IDE1OjQ0OjU0LjYwNDM1ODU4OCArMDIwMApAQCAt
ODAsNyArODAsNyBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
RnJpZW5kc1NjcmVlbk5hbWUoVHdpdHRlckFwaUFjY291bnQqIHRoZUFjY291bnQpOwogCi0gICAg
dmlydHVhbCBRU3RyaW5nTGlzdCByZWFkVXNlcnNTY3JlZW5OYW1lRnJvbVhtbChDaG9xb2s6OkFj
Y291bnQqIHRoZUFjY291bnQsIGNvbnN0IFFCeXRlQXJyYXkmIGJ1ZmZlcik7CisgICAgLy92aXJ0
dWFsIFFTdHJpbmdMaXN0IHJlYWRVc2Vyc1NjcmVlbk5hbWVGcm9tWG1sKENob3Fvazo6QWNjb3Vu
dCogdGhlQWNjb3VudCwgY29uc3QgUUJ5dGVBcnJheSYgYnVmZmVyKTsKIAogcHJvdGVjdGVkIFFf
U0xPVFM6CiAgICAgdmlydHVhbCB2b2lkIHNsb3RGZXRjaENvbnZlcnNhdGlvbiggS0pvYiogam9i
ICk7CmRpZmYgLXJ1cE4gJy0tZXhjbHVkZT0uKicgLi9jaG9xb2svbWljcm9ibG9ncy90d2l0dGVy
L3R3aXR0ZXJhY2NvdW50LmNwcCAuL2Nob3Fva19kZS9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRl
cmFjY291bnQuY3BwCi0tLSAuL2Nob3Fvay9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcmFjY291
bnQuY3BwCTIwMTMtMDYtMTYgMTU6NTU6MDIuMTIxMzE0NzAwICswMjAwCisrKyAuL2Nob3Fva19k
ZS9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcmFjY291bnQuY3BwCTIwMTMtMDYtMTYgMTU6NDQ6
NTQuNjA2MzU4NTg4ICswMjAwCkBAIC0yNSw2ICsyNSw4IEBACiAjaW5jbHVkZSAidHdpdHRlcmFj
Y291bnQuaCIKICNpbmNsdWRlICJ0d2l0dGVybWljcm9ibG9nLmgiCiAjaW5jbHVkZSA8S0RlYnVn
PgorI2luY2x1ZGUgPGlvc3RyZWFtPgorCiAKIGNsYXNzIFR3aXR0ZXJBY2NvdW50OjpQcml2YXRl
CiB7CkBAIC0zOSw3ICs0MSw4IEBAIFR3aXR0ZXJBY2NvdW50OjpUd2l0dGVyQWNjb3VudChUd2l0
dGVyTWkKIHsKICAgICBzZXRIb3N0KCJodHRwczovL2FwaS50d2l0dGVyLmNvbSIpOwogICAgIHNl
dFVwbG9hZEhvc3QoImh0dHBzOi8vdXBsb2FkLnR3aXR0ZXIuY29tIik7Ci0gICAgc2V0QXBpKCIx
Iik7CisgICAgc2V0QXBpKCIxLjEiKTsKKyAgICBzdGQ6OmNvdXQgPDwgIlNldCBBUEkgdmVyc2lv
biB0byAxLjEiIDw8IHN0ZDo6ZW5kbDsKIC8vICAgICBkLT5saXN0cyA9IGNvbmZpZ0dyb3VwKCkt
PnJlYWRFbnRyeSgibGlzdHMiLCBRU3RyaW5nTGlzdCgpKTsKICAgICBRU3RyaW5nTGlzdCBsaXN0
czsKICAgICBmb3JlYWNoKGNvbnN0IFFTdHJpbmcgJiB0bSwgdGltZWxpbmVOYW1lcygpKXsKZGlm
ZiAtcnVwTiAnLS1leGNsdWRlPS4qJyAuL2Nob3Fvay9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRl
cm1pY3JvYmxvZy5jcHAgLi9jaG9xb2tfZGUvbWljcm9ibG9ncy90d2l0dGVyL3R3aXR0ZXJtaWNy
b2Jsb2cuY3BwCi0tLSAuL2Nob3Fvay9taWNyb2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcm1pY3JvYmxv
Zy5jcHAJMjAxMy0wNi0xNiAxNTo1NTowMi4xMjEzMTQ3MDAgKzAyMDAKKysrIC4vY2hvcW9rX2Rl
L21pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVybWljcm9ibG9nLmNwcAkyMDEzLTA2LTE2IDE1OjQ0
OjU0LjYwNjM1ODU4OCArMDIwMApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgVHdpdHRlck1pY3Jv
QmxvZzo6Y3JlYXRlUG9zdFdpdGhBdHQKICAgICAgICAgLy8vRG9jdW1lbnRhdGlvbjogaHR0cDov
L2lkZW50aS5jYS9ub3RpY2UvMTc3Nzk5OTAKICAgICAgICAgVHdpdHRlckFjY291bnQqIGFjY291
bnQgPSBxb2JqZWN0X2Nhc3Q8VHdpdHRlckFjY291bnQqPih0aGVBY2NvdW50KTsKICAgICAgICAg
S1VybCB1cmwgPSBhY2NvdW50LT51cGxvYWRVcmwoKTsKLSAgICAgICAgdXJsLmFkZFBhdGggKCAi
L3N0YXR1c2VzL3VwZGF0ZV93aXRoX21lZGlhLnhtbCIgKTsKKyAgICAgICAgdXJsLmFkZFBhdGgg
KCAiL3N0YXR1c2VzL3VwZGF0ZV93aXRoX21lZGlhLmpzb24iICk7CiAgICAgICAgIFFCeXRlQXJy
YXkgZmlsZUNvbnRlbnRUeXBlID0gS01pbWVUeXBlOjpmaW5kQnlVcmwoIHBpY1VybCwgMCwgdHJ1
ZSApLT5uYW1lKCkudG9VdGY4KCk7CiAKICAgICAgICAgUU1hcDxRU3RyaW5nLCBRQnl0ZUFycmF5
PiBmb3JtZGF0YTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80655</attachid>
            <date>2013-06-20 06:08:07 +0000</date>
            <delta_ts>2013-06-20 06:08:07 +0000</delta_ts>
            <desc>Fix for follow/unfollow/block/unblock</desc>
            <filename>fix_friendship.patch</filename>
            <type>text/plain</type>
            <size>3938</size>
            <attacher name="Daniel Kreuter">daniel.kreuter85</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpbWljcm9i
bG9nLmNwcCBiL2hlbHBlcmxpYnMvdHdpdHRlcmFwaWhlbHBlci90d2l0dGVyYXBpbWljcm9ibG9n
LmNwcAppbmRleCAzMDk2YzkyLi4xYWQ2ODIzIDEwMDY0NAotLS0gYS9oZWxwZXJsaWJzL3R3aXR0
ZXJhcGloZWxwZXIvdHdpdHRlcmFwaW1pY3JvYmxvZy5jcHAKKysrIGIvaGVscGVybGlicy90d2l0
dGVyYXBpaGVscGVyL3R3aXR0ZXJhcGltaWNyb2Jsb2cuY3BwCkBAIC05MTQsMTAgKzkxNCwxMiBA
QCB2b2lkIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OmNyZWF0ZUZyaWVuZHNoaXAoIENob3Fvazo6QWNj
b3VudCAqdGhlQWNjb3VudCwgY29uc3QgUQogICAgIGtEZWJ1ZygpOwogICAgIFR3aXR0ZXJBcGlB
Y2NvdW50KiBhY2NvdW50ID0gcW9iamVjdF9jYXN0PFR3aXR0ZXJBcGlBY2NvdW50Kj4odGhlQWNj
b3VudCk7CiAgICAgS1VybCB1cmwgPSBhY2NvdW50LT5hcGlVcmwoKTsKLSAgICB1cmwuYWRkUGF0
aCggIi9mcmllbmRzaGlwcy9jcmVhdGUvIisgdXNlcm5hbWUgKyIuanNvbiIgKTsKKyAgICB1cmwu
YWRkUGF0aCggUVN0cmluZygiL2ZyaWVuZHNoaXBzL2NyZWF0ZS4lMSIpLmFyZyhmb3JtYXQpKTsK
KyAgICBRQnl0ZUFycmF5IGRhdGE7CisgICAgZGF0YSA9ICJzY3JlZW5fbmFtZT0iICsgdXNlcm5h
bWUudG9Mb2NhbDhCaXQoKTsKICAgICBrRGVidWcoKTw8dXJsOwogCi0gICAgS0lPOjpTdG9yZWRU
cmFuc2ZlckpvYiAqam9iID0gS0lPOjpzdG9yZWRIdHRwUG9zdCggUUJ5dGVBcnJheSgpLCB1cmws
IEtJTzo6SGlkZVByb2dyZXNzSW5mbykgOworICAgIEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IgKmpv
YiA9IEtJTzo6c3RvcmVkSHR0cFBvc3QoIGRhdGEsIHVybCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZv
KSA7CiAgICAgaWYgKCAham9iICkgewogICAgICAgICBrRXJyb3IoKSA8PCAiQ2Fubm90IGNyZWF0
ZSBhbiBodHRwIFBPU1QgcmVxdWVzdCEiOwogICAgICAgICByZXR1cm47CkBAIC05NzIsMTAgKzk3
NCwxMiBAQCB2b2lkIFR3aXR0ZXJBcGlNaWNyb0Jsb2c6OmRlc3Ryb3lGcmllbmRzaGlwKCBDaG9x
b2s6OkFjY291bnQgKnRoZUFjY291bnQsIGNvbnN0CiAgICAga0RlYnVnKCk7CiAgICAgVHdpdHRl
ckFwaUFjY291bnQqIGFjY291bnQgPSBxb2JqZWN0X2Nhc3Q8VHdpdHRlckFwaUFjY291bnQqPih0
aGVBY2NvdW50KTsKICAgICBLVXJsIHVybCA9IGFjY291bnQtPmFwaVVybCgpOwotICAgIHVybC5h
ZGRQYXRoKCAiL2ZyaWVuZHNoaXBzL2Rlc3Ryb3kvIiArIHVzZXJuYW1lICsgIi5qc29uIiApOwor
ICAgIHVybC5hZGRQYXRoKCBRU3RyaW5nKCIvZnJpZW5kc2hpcHMvZGVzdHJveS4lMSIpLmFyZyhm
b3JtYXQpKTsKKyAgICBRQnl0ZUFycmF5IGRhdGE7CisgICAgZGF0YSA9ICJzY3JlZW5fbmFtZT0i
ICsgdXNlcm5hbWUudG9Mb2NhbDhCaXQoKTsKICAgICBrRGVidWcoKTw8dXJsOwogCi0gICAgS0lP
OjpTdG9yZWRUcmFuc2ZlckpvYiAqam9iID0gS0lPOjpzdG9yZWRIdHRwUG9zdChRQnl0ZUFycmF5
KCksIHVybCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZvKSA7CisgICAgS0lPOjpTdG9yZWRUcmFuc2Zl
ckpvYiAqam9iID0gS0lPOjpzdG9yZWRIdHRwUG9zdChkYXRhLCB1cmwsIEtJTzo6SGlkZVByb2dy
ZXNzSW5mbykgOwogICAgIGlmICggIWpvYiApIHsKICAgICAgICAga0Vycm9yKCkgPDwgIkNhbm5v
dCBjcmVhdGUgYW4gaHR0cCBQT1NUIHJlcXVlc3QhIjsKICAgICAgICAgcmV0dXJuOwpAQCAtMTAz
MCw5ICsxMDM0LDExIEBAIHZvaWQgVHdpdHRlckFwaU1pY3JvQmxvZzo6YmxvY2tVc2VyKCBDaG9x
b2s6OkFjY291bnQgKnRoZUFjY291bnQsIGNvbnN0IFFTdHJpbmcmCiAgICAga0RlYnVnKCk7CiAg
ICAgVHdpdHRlckFwaUFjY291bnQqIGFjY291bnQgPSBxb2JqZWN0X2Nhc3Q8VHdpdHRlckFwaUFj
Y291bnQqPih0aGVBY2NvdW50KTsKICAgICBLVXJsIHVybCA9IGFjY291bnQtPmFwaVVybCgpOwot
ICAgIHVybC5hZGRQYXRoKCAiL2Jsb2Nrcy9jcmVhdGUvIisgdXNlcm5hbWUgKyIuanNvbiIgKTsK
KyAgICB1cmwuYWRkUGF0aCggUVN0cmluZygiL2Jsb2Nrcy9jcmVhdGUuJTEiKS5hcmcoZm9ybWF0
KSk7CisgICAgUUJ5dGVBcnJheSBkYXRhOworICAgIGRhdGEgPSAic2NyZWVuX25hbWU9IiArIHVz
ZXJuYW1lLnRvTG9jYWw4Qml0KCk7CiAKLSAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9iICpqb2Ig
PSBLSU86OnN0b3JlZEh0dHBQb3N0KFFCeXRlQXJyYXkoKSwgdXJsLCBLSU86OkhpZGVQcm9ncmVz
c0luZm8pIDsKKyAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9iICpqb2IgPSBLSU86OnN0b3JlZEh0
dHBQb3N0KCBkYXRhLCB1cmwsIEtJTzo6SGlkZVByb2dyZXNzSW5mbykgOwogICAgIGlmICggIWpv
YiApIHsKICAgICAgICAga0Vycm9yKCkgPDwgIkNhbm5vdCBjcmVhdGUgYW4gaHR0cCBQT1NUIHJl
cXVlc3QhIjsKICAgICAgICAgcmV0dXJuOwpAQCAtMTI2MCw5ICsxMjY2LDI3IEBAIENob3Fvazo6
UG9zdCogVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZERNZXNzYWdlRnJvbUpzb25NYXAoQ2hvcW9r
OjpBY2NvdW50KiB0aGVBCiAKIENob3Fvazo6VXNlciogVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVh
ZFVzZXJJbmZvRnJvbUpzb24oY29uc3QgUUJ5dGVBcnJheSYgYnVmZmVyKQogewotICAgIGtFcnJv
cigpPDwiVHdpdHRlckFwaU1pY3JvQmxvZzo6cmVhZFVzZXJJbmZvRnJvbUpzb246IE5PVCBJTVBM
RU1FTlRFRCBZRVQhIjsKLSAgICBRX1VOVVNFRChidWZmZXIpOwotICAgIHJldHVybiAwOworICAg
IC8va0Vycm9yKCk8PCJUd2l0dGVyQXBpTWljcm9CbG9nOjpyZWFkVXNlckluZm9Gcm9tSnNvbjog
Tk9UIElNUExFTUVOVEVEIFlFVCEiOworICAgIGJvb2wgb2s7CisgICAgQ2hvcW9rOjpVc2VyICp1
c2VyID0gbmV3IENob3Fvazo6VXNlcjsKKyAgICBRVmFyaWFudE1hcCBqc29uID0gZC0+cGFyc2Vy
LnBhcnNlKGJ1ZmZlciwgJm9rKS50b01hcCgpOworICAgIGlmKCBvayApIHsKKyAgICAgICAgLy8g
aXRlcmF0ZSBvdmVyIHRoZSBsaXN0CisgICAgICAgIHVzZXItPmRlc2NyaXB0aW9uID0ganNvblsi
ZGVzY3JpcHRpb24iXS50b1N0cmluZygpOworICAgICAgICB1c2VyLT5mb2xsb3dlcnNDb3VudCA9
IGpzb25bImZvbGxvd2Vyc19jb3VudCJdLnRvVUludCgpOworICAgICAgICB1c2VyLT5ob21lUGFn
ZVVybCA9IGpzb25bInVybCJdLnRvU3RyaW5nKCk7CisgICAgICAgIHVzZXItPmlzUHJvdGVjdGVk
ID0ganNvblsicHJvdGVjdGVkIl0udG9Cb29sKCk7CisgICAgICAgIHVzZXItPmxvY2F0aW9uID0g
anNvblsibG9jYXRpb24iXS50b1N0cmluZygpOworICAgICAgICB1c2VyLT5wcm9maWxlSW1hZ2VV
cmwgPSBqc29uWyJwcm9maWxlX2ltYWdlX3VybCJdLnRvU3RyaW5nKCk7CisgICAgICAgIHVzZXIt
PnJlYWxOYW1lID0ganNvblsibmFtZSJdLnRvU3RyaW5nKCk7CisgICAgICAgIHVzZXItPnVzZXJJ
ZCA9IGpzb25bImlkIl0udG9TdHJpbmcoKTsKKyAgICAgICAgdXNlci0+dXNlck5hbWUgPSBqc29u
WyJzY3JlZW5fbmFtZSJdLnRvU3RyaW5nKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgUVN0cmlu
ZyBlcnIgPSBpMThuKCAiUmV0cmlldmluZyB0aGUgZnJpZW5kcyBsaXN0IGZhaWxlZC4gVGhlIGRh
dGEgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyIGlzIGNvcnJ1cHRlZC4iICk7CisgICAgICAgIGtE
ZWJ1ZygpIDw8ICJKU09OIHBhcnNlIGVycm9yOiB0aGUgYnVmZmVyIGlzOiBcbiIgPDwgYnVmZmVy
OworICAgICAgICBlbWl0IGVycm9yKDAsIFBhcnNpbmdFcnJvciwgZXJyLCBDcml0aWNhbCk7Cisg
ICAgfQorICAgIHJldHVybiB1c2VyOwogfQogCiBRU3RyaW5nTGlzdCBUd2l0dGVyQXBpTWljcm9C
bG9nOjpyZWFkVXNlcnNTY3JlZW5OYW1lRnJvbUpzb24oQ2hvcW9rOjpBY2NvdW50KiB0aGVBY2Nv
dW50LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80681</attachid>
            <date>2013-06-21 08:46:23 +0000</date>
            <delta_ts>2013-06-21 08:46:23 +0000</delta_ts>
            <desc>Fix image upload</desc>
            <filename>fix_image_upload.patch</filename>
            <type>text/plain</type>
            <size>635</size>
            <attacher name="Daniel Kreuter">daniel.kreuter85</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL21pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVyYWNjb3VudC5jcHAgYi9taWNy
b2Jsb2dzL3R3aXR0ZXIvdHdpdHRlcmFjY291bnQuY3BwCmluZGV4IDQyZGE3ZDEuLjQxNjA2ODIg
MTAwNjQ0Ci0tLSBhL21pY3JvYmxvZ3MvdHdpdHRlci90d2l0dGVyYWNjb3VudC5jcHAKKysrIGIv
bWljcm9ibG9ncy90d2l0dGVyL3R3aXR0ZXJhY2NvdW50LmNwcApAQCAtMzgsNyArMzgsNyBAQCBU
d2l0dGVyQWNjb3VudDo6VHdpdHRlckFjY291bnQoVHdpdHRlck1pY3JvQmxvZyogcGFyZW50LCBj
b25zdCBRU3RyaW5nICZhbGlhcykKICAgICA6IFR3aXR0ZXJBcGlBY2NvdW50KHBhcmVudCwgYWxp
YXMpLCBkKG5ldyBQcml2YXRlKQogewogICAgIHNldEhvc3QoImh0dHBzOi8vYXBpLnR3aXR0ZXIu
Y29tIik7Ci0gICAgc2V0VXBsb2FkSG9zdCgiaHR0cHM6Ly91cGxvYWQudHdpdHRlci5jb20iKTsK
KyAgICBzZXRVcGxvYWRIb3N0KCJodHRwczovL2FwaS50d2l0dGVyLmNvbSIpOwogICAgIHNldEFw
aSgiMS4xIik7CiAgICAga0RlYnVnKCkgPDwgIlNldCBBUEkgdmVyc2lvbiB0byAxLjEiOwogLy8g
ICAgIGQtPmxpc3RzID0gY29uZmlnR3JvdXAoKS0+cmVhZEVudHJ5KCJsaXN0cyIsIFFTdHJpbmdM
aXN0KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>