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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>121877</bug_id>
          
          <creation_ts>2013-09-24 16:14:58 -0700</creation_ts>
          <short_desc>generate-message-receiver.py can&apos;t handle nested #ifs</short_desc>
          <delta_ts>2013-11-14 14:17:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121818</blocked>
    
    <blocked>124147</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Gergő Balogh">gbalogh.u-szeged</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>galpeter</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>932772</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-24 16:14:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/156350 revealed that generate-message-receiver.py 
script can&apos;t handle nested ifdefs properly and it broke the non Mac builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932777</commentid>
    <comment_count>1</comment_count>
      <attachid>212516</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-24 16:21:48 -0700</bug_when>
    <thetext>Created attachment 212516
generated cpp with nested ifdefs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932778</commentid>
    <comment_count>2</comment_count>
      <attachid>212517</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-24 16:22:23 -0700</bug_when>
    <thetext>Created attachment 212517
generated cpp without nested ifdefs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932782</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-24 16:23:29 -0700</bug_when>
    <thetext>and the change caused this problem - http://trac.webkit.org/changeset/156350/trunk/Source/WebKit2/UIProcess/WebContext.messages.in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932914</commentid>
    <comment_count>4</comment_count>
      <attachid>212547</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-25 02:36:08 -0700</bug_when>
    <thetext>Created attachment 212547
Patch

workaround to avoid adding nested #ifs until proper fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932921</commentid>
    <comment_count>5</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2013-09-25 03:41:02 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=212547&amp;action=review

&gt; Source/WebKit2/Scripts/webkit2/parser.py:51
&gt; +                    sys.stderr.write(&apos;ERROR: Nested #ifs aren\&apos;t supported, please fix %s\n&apos; % file.name)

You can mix &apos; and &quot; together then you don&apos;t need to escape the &apos; (use &quot; for the string start and end)

&gt; Source/WebKit2/Scripts/webkit2/parser.py:52
&gt; +                    os._exit(1)

The standard way to exit is sys.exit(n) as dictated by the python documentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932928</commentid>
    <comment_count>6</comment_count>
      <attachid>212553</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-25 04:53:23 -0700</bug_when>
    <thetext>Created attachment 212553
workaround

updated patch based on Peter&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932929</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2013-09-25 04:57:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=212553) [details]
&gt; workaround
&gt; 
&gt; updated patch based on Peter&apos;s review

LGTM (BTW: Much better isn&apos;t? :))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938400</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 10:05:57 -0700</bug_when>
    <thetext>Is there any objection against adding this guard 
to avoid adding nested #ifs until proper fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938496</commentid>
    <comment_count>9</comment_count>
      <attachid>212553</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 13:00:44 -0700</bug_when>
    <thetext>Comment on attachment 212553
workaround

Clearing flags on attachment: 212553

Committed r157243: &lt;http://trac.webkit.org/changeset/157243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941155</commentid>
    <comment_count>10</comment_count>
      <attachid>214558</attachid>
    <who name="Gergő Balogh">gbalogh.u-szeged</who>
    <bug_when>2013-10-18 05:39:16 -0700</bug_when>
    <thetext>Created attachment 214558
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941156</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-18 05:41:23 -0700</bug_when>
    <thetext>Attachment 214558 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Scripts/webkit2/messages_unittest.py&apos;, u&apos;Source/WebKit2/Scripts/webkit2/parser.py&apos;]&quot; exit_code: 1
Source/WebKit2/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941159</commentid>
    <comment_count>12</comment_count>
      <attachid>214559</attachid>
    <who name="Gergő Balogh">gbalogh.u-szeged</who>
    <bug_when>2013-10-18 05:51:13 -0700</bug_when>
    <thetext>Created attachment 214559
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948117</commentid>
    <comment_count>13</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2013-11-07 00:54:51 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=214559) [details]
&gt; patch

I think this would be really good to have. I&apos;ve seen other bug reports where they expected to have nested #if-s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948293</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-07 09:16:05 -0800</bug_when>
    <thetext>Certainly a good thing, just needs someone to review the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949683</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-12 08:48:39 -0800</bug_when>
    <thetext>Is there a brave WK2 owner somewhere for reviewing this patch? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950845</commentid>
    <comment_count>16</comment_count>
      <attachid>214559</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-14 14:17:53 -0800</bug_when>
    <thetext>Comment on attachment 214559
patch

Clearing flags on attachment: 214559

Committed r159312: &lt;http://trac.webkit.org/changeset/159312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950846</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-14 14:17:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>212516</attachid>
            <date>2013-09-24 16:21:48 -0700</date>
            <delta_ts>2013-09-24 16:22:47 -0700</delta_ts>
            <desc>generated cpp with nested ifdefs</desc>
            <filename>WebContextMessageReceiver.cpp~BAD-r156350</filename>
            <type>text/plain</type>
            <size>7734</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0OgogKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAogKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAogKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCiAqIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKICogQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICovCgojaW5jbHVkZSAi
Y29uZmlnLmgiCgojaW5jbHVkZSAiV2ViQ29udGV4dC5oIgoKI2luY2x1ZGUgIkFyZ3VtZW50Q29k
ZXJzLmgiCiNpbmNsdWRlICJIYW5kbGVNZXNzYWdlLmgiCiNpbmNsdWRlICJNZXNzYWdlRGVjb2Rl
ci5oIgojaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5o
IgojaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2VzLmgiCiNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KI2lmIFBMQVRGT1JNKElPUykK
I2luY2x1ZGUgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgojZW5kaWYKI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgoKbmFtZXNwYWNlIFdlYktpdCB7
Cgp2b2lkIFdlYkNvbnRleHQ6OmRpZFJlY2VpdmVXZWJDb250ZXh0TWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCnsKICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkFkZFZpc2l0ZWRM
aW5rSGFzaDo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdl
czo6V2ViQ29udGV4dDo6QWRkVmlzaXRlZExpbmtIYXNoPihkZWNvZGVyLCB0aGlzLCAmV2ViQ29u
dGV4dDo6YWRkVmlzaXRlZExpbmtIYXNoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpEaWRHZXRTdGF0
aXN0aWNzOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2Vz
OjpXZWJDb250ZXh0OjpEaWRHZXRTdGF0aXN0aWNzPihkZWNvZGVyLCB0aGlzLCAmV2ViQ29udGV4
dDo6ZGlkR2V0U3RhdGlzdGljcyk7CiAgICAgICAgcmV0dXJuOwogICAgfQojaWYgUExBVEZPUk0o
SU9TKQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4
dDo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBD
OjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpXcml0ZVdlYkNvbnRlbnRUb1Bh
c3RlYm9hcmQ+KGRlY29kZXIsIHRoaXMsICZXZWJDb250ZXh0Ojp3cml0ZVdlYkNvbnRlbnRUb1Bh
c3RlYm9hcmQpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQTEFURk9STShJT1Mp
CiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpX
cml0ZUltYWdlVG9QYXN0ZWJvYXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVN
ZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpXcml0ZUltYWdlVG9QYXN0ZWJvYXJkPihkZWNv
ZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZCk7CiAgICAgICAg
cmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JNKElPUykKICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OldyaXRlU3RyaW5nVG9QYXN0ZWJv
YXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpX
ZWJDb250ZXh0OjpXcml0ZVN0cmluZ1RvUGFzdGVib2FyZD4oZGVjb2RlciwgdGhpcywgJldlYkNv
bnRleHQ6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKTsKICAgICAgICByZXR1cm47CiAgICB9CiNl
bmRpZgogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4
dDo6QWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaDo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQ
Qzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRkUGx1Z0luQXV0b1N0YXJ0
T3JpZ2luSGFzaD4oZGVjb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmFkZFBsdWdJbkF1dG9TdGFy
dE9yaWdpbkhhc2gpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChkZWNvZGVyLm1lc3Nh
Z2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OlBsdWdJbkRpZFJlY2VpdmVVc2VySW50
ZXJhY3Rpb246Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2Fn
ZXM6OldlYkNvbnRleHQ6OlBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24+KGRlY29kZXIs
IHRoaXMsICZXZWJDb250ZXh0OjpwbHVnSW5EaWRSZWNlaXZlVXNlckludGVyYWN0aW9uKTsKICAg
ICAgICByZXR1cm47CiAgICB9CiAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKfQoKdm9pZCBXZWJD
b250ZXh0OjpkaWRSZWNlaXZlU3luY1dlYkNvbnRleHRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRyPENv
cmVJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQp7CiAgICBpZiAoZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkVHlwZXM6
Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNv
bnRleHQ6OkdldFBhc3RlYm9hcmRUeXBlcz4oZGVjb2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywg
JldlYkNvbnRleHQ6OmdldFBhc3RlYm9hcmRUeXBlcyk7CiAgICAgICAgcmV0dXJuOwogICAgfQog
ICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0
UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGU6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6Omhh
bmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRQYXRobmFtZXNG
b3JUeXBlPihkZWNvZGVyLCAqcmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6Z2V0UGFz
dGVib2FyZFBhdGhuYW1lc0ZvclR5cGUpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9h
cmRTdHJpbmdGb3JUeXBlOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdl
PE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZT4oZGVjb2Rl
ciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmdldFBhc3RlYm9hcmRTdHJpbmdG
b3JUeXBlKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFt
ZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZTo6
bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29u
dGV4dDo6R2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGU+KGRlY29kZXIsICpyZXBseUVuY29kZXIs
IHRoaXMsICZXZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZSk7CiAgICAgICAg
cmV0dXJuOwogICAgfQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6
V2ViQ29udGV4dDo6UGFzdGVib2FyZENvcHk6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6Omhh
bmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OlBhc3RlYm9hcmRDb3B5PihkZWNvZGVy
LCAqcmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6cGFzdGVib2FyZENvcHkpOwogICAg
ICAgIHJldHVybjsKICAgIH0KICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2Fn
ZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRDaGFuZ2VDb3VudDo6bmFtZSgpKSB7CiAgICAg
ICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVi
b2FyZENoYW5nZUNvdW50PihkZWNvZGVyLCAqcmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4
dDo6Z2V0UGFzdGVib2FyZENoYW5nZUNvdW50KTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0
ZWJvYXJkVW5pcXVlTmFtZTo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2Fn
ZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2FyZFVuaXF1ZU5hbWU+KGRlY29kZXIs
ICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkVW5pcXVlTmFt
ZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9
PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2FyZENvbG9yOjpuYW1lKCkpIHsKICAg
ICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0
ZWJvYXJkQ29sb3I+KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0Ojpn
ZXRQYXN0ZWJvYXJkQ29sb3IpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRVUkw6
Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNv
bnRleHQ6OkdldFBhc3RlYm9hcmRVUkw+KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZX
ZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkVVJMKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpBZGRQYXN0
ZWJvYXJkVHlwZXM6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVz
c2FnZXM6OldlYkNvbnRleHQ6OkFkZFBhc3RlYm9hcmRUeXBlcz4oZGVjb2RlciwgKnJlcGx5RW5j
b2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmFkZFBhc3RlYm9hcmRUeXBlcyk7CiAgICAgICAgcmV0
dXJuOwogICAgfQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2Vi
Q29udGV4dDo6U2V0UGFzdGVib2FyZFR5cGVzOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpo
YW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpTZXRQYXN0ZWJvYXJkVHlwZXM+KGRl
Y29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0OjpzZXRQYXN0ZWJvYXJkVHlw
ZXMpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkg
PT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OlNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlOjpu
YW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250
ZXh0OjpTZXRQYXN0ZWJvYXJkUGF0aG5hbWVzRm9yVHlwZT4oZGVjb2RlciwgKnJlcGx5RW5jb2Rl
ciwgdGhpcywgJldlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKTsKICAg
ICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3Nh
Z2VzOjpXZWJDb250ZXh0OjpTZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZTo6bmFtZSgpKSB7CiAg
ICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6U2V0UGFz
dGVib2FyZFN0cmluZ0ZvclR5cGU+KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJD
b250ZXh0OjpzZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZSk7CiAgICAgICAgcmV0dXJuOwogICAg
fQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6
U2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGU6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6Omhh
bmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OlNldFBhc3RlYm9hcmRCdWZmZXJGb3JU
eXBlPihkZWNvZGVyLCAqcmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6c2V0UGFzdGVi
b2FyZEJ1ZmZlckZvclR5cGUpOwogICAgICAgIHJldHVybjsKICAgIH0KI2lmICFQTEFURk9STShN
QUMpCiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0
OjpEdW1teTo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdl
czo6V2ViQ29udGV4dDo6RHVtbXk+KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJD
b250ZXh0OjpkdW1teSk7CiAgICAgICAgcmV0dXJuOwogICAgfQojZW5kaWYKICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwp9Cgp9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>212517</attachid>
            <date>2013-09-24 16:22:23 -0700</date>
            <delta_ts>2013-09-24 16:22:23 -0700</delta_ts>
            <desc>generated cpp without nested ifdefs</desc>
            <filename>WebContextMessageReceiver.cpp~GOOD-r156369</filename>
            <type>text/plain</type>
            <size>8201</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0OgogKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAogKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAogKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCiAqIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKICogQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICovCgojaW5jbHVkZSAi
Y29uZmlnLmgiCgojaW5jbHVkZSAiV2ViQ29udGV4dC5oIgoKI2luY2x1ZGUgIkFyZ3VtZW50Q29k
ZXJzLmgiCiNpbmNsdWRlICJIYW5kbGVNZXNzYWdlLmgiCiNpbmNsdWRlICJNZXNzYWdlRGVjb2Rl
ci5oIgojaWYgUExBVEZPUk0oTUFDKQojaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiNlbmRpZgoj
aW5jbHVkZSAiU3RhdGlzdGljc0RhdGEuaCIKI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5o
IgojaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCiNpbmNsdWRlICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKI2VuZGlmCiNpZiBQTEFURk9STShNQUMpCiNpbmNsdWRlIDxXZWJDb3Jl
L0NvbG9yLmg+CiNlbmRpZgojaWYgUExBVEZPUk0oSU9TKQojaW5jbHVkZSA8V2ViQ29yZS9QYXN0
ZWJvYXJkLmg+CiNlbmRpZgojaWYgUExBVEZPUk0oTUFDKQojaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgojZW5kaWYKI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgoKbmFtZXNwYWNlIFdlYktp
dCB7Cgp2b2lkIFdlYkNvbnRleHQ6OmRpZFJlY2VpdmVXZWJDb250ZXh0TWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCnsKICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkFkZFZpc2l0
ZWRMaW5rSGFzaDo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNz
YWdlczo6V2ViQ29udGV4dDo6QWRkVmlzaXRlZExpbmtIYXNoPihkZWNvZGVyLCB0aGlzLCAmV2Vi
Q29udGV4dDo6YWRkVmlzaXRlZExpbmtIYXNoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpEaWRHZXRT
dGF0aXN0aWNzOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3Nh
Z2VzOjpXZWJDb250ZXh0OjpEaWRHZXRTdGF0aXN0aWNzPihkZWNvZGVyLCB0aGlzLCAmV2ViQ29u
dGV4dDo6ZGlkR2V0U3RhdGlzdGljcyk7CiAgICAgICAgcmV0dXJuOwogICAgfQojaWYgUExBVEZP
Uk0oSU9TKQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29u
dGV4dDo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3Jl
SVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpXcml0ZVdlYkNvbnRlbnRU
b1Bhc3RlYm9hcmQ+KGRlY29kZXIsIHRoaXMsICZXZWJDb250ZXh0Ojp3cml0ZVdlYkNvbnRlbnRU
b1Bhc3RlYm9hcmQpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQTEFURk9STShJ
T1MpCiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0
OjpXcml0ZUltYWdlVG9QYXN0ZWJvYXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5k
bGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpXcml0ZUltYWdlVG9QYXN0ZWJvYXJkPihk
ZWNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZCk7CiAgICAg
ICAgcmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JNKElPUykKICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OldyaXRlU3RyaW5nVG9QYXN0
ZWJvYXJkOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2Vz
OjpXZWJDb250ZXh0OjpXcml0ZVN0cmluZ1RvUGFzdGVib2FyZD4oZGVjb2RlciwgdGhpcywgJldl
YkNvbnRleHQ6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKTsKICAgICAgICByZXR1cm47CiAgICB9
CiNlbmRpZgogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29u
dGV4dDo6QWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaDo6bmFtZSgpKSB7CiAgICAgICAgQ29y
ZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRkUGx1Z0luQXV0b1N0
YXJ0T3JpZ2luSGFzaD4oZGVjb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmFkZFBsdWdJbkF1dG9T
dGFydE9yaWdpbkhhc2gpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OlBsdWdJbkRpZFJlY2VpdmVVc2Vy
SW50ZXJhY3Rpb246Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVz
c2FnZXM6OldlYkNvbnRleHQ6OlBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24+KGRlY29k
ZXIsIHRoaXMsICZXZWJDb250ZXh0OjpwbHVnSW5EaWRSZWNlaXZlVXNlckludGVyYWN0aW9uKTsK
ICAgICAgICByZXR1cm47CiAgICB9CiAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKfQoKdm9pZCBX
ZWJDb250ZXh0OjpkaWRSZWNlaXZlU3luY1dlYkNvbnRleHRNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRy
PENvcmVJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQp7CiNpZiBQTEFURk9STShN
QUMpCiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0
OjpHZXRQYXN0ZWJvYXJkVHlwZXM6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1l
c3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRUeXBlcz4oZGVjb2Rlciwg
KnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmdldFBhc3RlYm9hcmRUeXBlcyk7CiAg
ICAgICAgcmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JNKE1BQykKICAgIGlmIChkZWNv
ZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRQ
YXRobmFtZXNGb3JUeXBlOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdl
PE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkUGF0aG5hbWVzRm9yVHlwZT4oZGVj
b2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmdldFBhc3RlYm9hcmRQYXRo
bmFtZXNGb3JUeXBlKTsKICAgICAgICByZXR1cm47CiAgICB9CiNlbmRpZgojaWYgUExBVEZPUk0o
TUFDKQogICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4
dDo6R2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGU6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6
OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3RlYm9hcmRTdHJpbmdG
b3JUeXBlPihkZWNvZGVyLCAqcmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6Z2V0UGFz
dGVib2FyZFN0cmluZ0ZvclR5cGUpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQ
TEFURk9STShNQUMpCiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpX
ZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZTo6bmFtZSgpKSB7CiAgICAgICAg
Q29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2Fy
ZEJ1ZmZlckZvclR5cGU+KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0
OjpnZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQojZW5k
aWYKI2lmIFBMQVRGT1JNKE1BQykKICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVz
c2FnZXM6OldlYkNvbnRleHQ6OlBhc3RlYm9hcmRDb3B5OjpuYW1lKCkpIHsKICAgICAgICBDb3Jl
SVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpQYXN0ZWJvYXJkQ29weT4o
ZGVjb2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OnBhc3RlYm9hcmRDb3B5
KTsKICAgICAgICByZXR1cm47CiAgICB9CiNlbmRpZgojaWYgUExBVEZPUk0oTUFDKQogICAgaWYg
KGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVi
b2FyZENoYW5nZUNvdW50OjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdl
PE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQ+KGRlY29kZXIs
ICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkQ2hhbmdlQ291
bnQpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQTEFURk9STShNQUMpCiAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQYXN0
ZWJvYXJkVW5pcXVlTmFtZTo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2Fn
ZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2FyZFVuaXF1ZU5hbWU+KGRlY29kZXIs
ICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkVW5pcXVlTmFt
ZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JNKE1BQykKICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OkdldFBhc3Rl
Ym9hcmRDb2xvcjo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNz
YWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2FyZENvbG9yPihkZWNvZGVyLCAqcmVwbHlFbmNv
ZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6Z2V0UGFzdGVib2FyZENvbG9yKTsKICAgICAgICByZXR1
cm47CiAgICB9CiNlbmRpZgojaWYgUExBVEZPUk0oTUFDKQogICAgaWYgKGRlY29kZXIubWVzc2Fn
ZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGFzdGVib2FyZFVSTDo6bmFtZSgp
KSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6
R2V0UGFzdGVib2FyZFVSTD4oZGVjb2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRl
eHQ6OmdldFBhc3RlYm9hcmRVUkwpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQ
TEFURk9STShNQUMpCiAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpX
ZWJDb250ZXh0OjpBZGRQYXN0ZWJvYXJkVHlwZXM6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6
OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYkNvbnRleHQ6OkFkZFBhc3RlYm9hcmRUeXBlcz4o
ZGVjb2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OmFkZFBhc3RlYm9hcmRU
eXBlcyk7CiAgICAgICAgcmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JNKE1BQykKICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRleHQ6OlNldFBh
c3RlYm9hcmRUeXBlczo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxN
ZXNzYWdlczo6V2ViQ29udGV4dDo6U2V0UGFzdGVib2FyZFR5cGVzPihkZWNvZGVyLCAqcmVwbHlF
bmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6c2V0UGFzdGVib2FyZFR5cGVzKTsKICAgICAgICBy
ZXR1cm47CiAgICB9CiNlbmRpZgojaWYgUExBVEZPUk0oTUFDKQogICAgaWYgKGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViQ29udGV4dDo6U2V0UGFzdGVib2FyZFBhdGhuYW1l
c0ZvclR5cGU6Om5hbWUoKSkgewogICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2Fn
ZXM6OldlYkNvbnRleHQ6OlNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlPihkZWNvZGVyLCAq
cmVwbHlFbmNvZGVyLCB0aGlzLCAmV2ViQ29udGV4dDo6c2V0UGFzdGVib2FyZFBhdGhuYW1lc0Zv
clR5cGUpOwogICAgICAgIHJldHVybjsKICAgIH0KI2VuZGlmCiNpZiBQTEFURk9STShNQUMpCiAg
ICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpTZXRQ
YXN0ZWJvYXJkU3RyaW5nRm9yVHlwZTo6bmFtZSgpKSB7CiAgICAgICAgQ29yZUlQQzo6aGFuZGxl
TWVzc2FnZTxNZXNzYWdlczo6V2ViQ29udGV4dDo6U2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGU+
KGRlY29kZXIsICpyZXBseUVuY29kZXIsIHRoaXMsICZXZWJDb250ZXh0OjpzZXRQYXN0ZWJvYXJk
U3RyaW5nRm9yVHlwZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQojZW5kaWYKI2lmIFBMQVRGT1JN
KE1BQykKICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYkNvbnRl
eHQ6OlNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlOjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBD
OjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpTZXRQYXN0ZWJvYXJkQnVmZmVy
Rm9yVHlwZT4oZGVjb2RlciwgKnJlcGx5RW5jb2RlciwgdGhpcywgJldlYkNvbnRleHQ6OnNldFBh
c3RlYm9hcmRCdWZmZXJGb3JUeXBlKTsKICAgICAgICByZXR1cm47CiAgICB9CiNlbmRpZgojaWYg
IVBMQVRGT1JNKE1BQykKICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6
OldlYkNvbnRleHQ6OkR1bW15OjpuYW1lKCkpIHsKICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNz
YWdlPE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpEdW1teT4oZGVjb2RlciwgKnJlcGx5RW5jb2Rlciwg
dGhpcywgJldlYkNvbnRleHQ6OmR1bW15KTsKICAgICAgICByZXR1cm47CiAgICB9CiNlbmRpZgog
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cn0KCn0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212547</attachid>
            <date>2013-09-25 02:36:08 -0700</date>
            <delta_ts>2013-09-25 04:53:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121877-20130925023613.patch</filename>
            <type>text/plain</type>
            <size>1838</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmUzZmU5NjE5NjQ0OWYy
ODVkYzI5MGU4NTI3ODMxNDZiNTIxZThhYi4uMjc4NGNmZTM0NmM2ODdjMGU1ZDBmOTVhNzE0ZTFi
YWU3M2ZhYTc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA5LTI1ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgZ2VuZXJhdGUtbWVz
c2FnZS1yZWNlaXZlci5weSBjYW4ndCBoYW5kbGUgbmVzdGVkICNpZnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg3NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL3BhcnNl
ci5weToKKyAgICAgICAgKHBhcnNlKTogRXhpdCBlYXJseSB1bnRpbCBwcm9wZXIgZml4IGluc3Rl
YWQgb2YgZ2VuZXJhdGluZyBidWdneSBvdXRwdXQuCisKIDIwMTMtMDktMjQgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgZXJyb25lb3VzIHJlZmVyZW5jZSB0
byBsaWJXVEYuYSBpbiB0aGUgV2ViS2l0MiBYY29kZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5IGIvU291cmNlL1dlYktp
dDIvU2NyaXB0cy93ZWJraXQyL3BhcnNlci5weQppbmRleCBlMTY1OTNhZTY1YzVkODQ1Yjk5MTNk
OWZhNjdhMWVjMGY4YzAyYTFlLi5kYWVhNGZhYTA3NzJmNjM1NTE3ZTJhMjQwNDMwZGJkMzdiNThh
NjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9wYXJzZXIucHkKQEAgLTIwLDcg
KzIwLDkgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0
IG9zCiBpbXBvcnQgcmUKK2ltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXQyIGltcG9ydCBtb2RlbAog
CkBAIC00Myw2ICs0NSwxMSBAQCBkZWYgcGFyc2UoZmlsZSk6CiAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyMnKToKICAgICAgICAgICAgIGlmIGxpbmUu
c3RhcnRzd2l0aCgnI2lmICcpOgorICAgICAgICAgICAgICAgIGlmIGNvbmRpdGlvbjoKKyAgICAg
ICAgICAgICAgICAgICAgIyBGSVhNRTogZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5weSBjYW4n
dCBoYW5kbGUgbmVzdGVkIGlmcworICAgICAgICAgICAgICAgICAgICAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE4NzcKKyAgICAgICAgICAgICAgICAgICAgc3lz
LnN0ZGVyci53cml0ZSgnRVJST1I6IE5lc3RlZCAjaWZzIGFyZW5cJ3Qgc3VwcG9ydGVkLCBwbGVh
c2UgZml4ICVzXG4nICUgZmlsZS5uYW1lKQorICAgICAgICAgICAgICAgICAgICBvcy5fZXhpdCgx
KQogICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGxpbmUucnN0cmlwKClbNDpdCiAgICAgICAg
ICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgnI2VuZGlmJyk6CiAgICAgICAgICAgICAgICAgY29u
ZGl0aW9uID0gTm9uZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212553</attachid>
            <date>2013-09-25 04:53:23 -0700</date>
            <delta_ts>2013-10-10 13:00:43 -0700</delta_ts>
            <desc>workaround</desc>
            <filename>bug-121877-20130925045328.patch</filename>
            <type>text/plain</type>
            <size>1745</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmUzZmU5NjE5NjQ0OWYy
ODVkYzI5MGU4NTI3ODMxNDZiNTIxZThhYi4uMjc4NGNmZTM0NmM2ODdjMGU1ZDBmOTVhNzE0ZTFi
YWU3M2ZhYTc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA5LTI1ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgZ2VuZXJhdGUtbWVz
c2FnZS1yZWNlaXZlci5weSBjYW4ndCBoYW5kbGUgbmVzdGVkICNpZnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg3NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL3BhcnNl
ci5weToKKyAgICAgICAgKHBhcnNlKTogRXhpdCBlYXJseSB1bnRpbCBwcm9wZXIgZml4IGluc3Rl
YWQgb2YgZ2VuZXJhdGluZyBidWdneSBvdXRwdXQuCisKIDIwMTMtMDktMjQgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgZXJyb25lb3VzIHJlZmVyZW5jZSB0
byBsaWJXVEYuYSBpbiB0aGUgV2ViS2l0MiBYY29kZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5IGIvU291cmNlL1dlYktp
dDIvU2NyaXB0cy93ZWJraXQyL3BhcnNlci5weQppbmRleCBlMTY1OTNhZTY1YzVkODQ1Yjk5MTNk
OWZhNjdhMWVjMGY4YzAyYTFlLi41MzJhNTQyY2Q0ZTUzMDdiNGZmZTdhY2Y1ZDk2Mjc1ZGZmNGEx
OWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9wYXJzZXIucHkKQEAgLTIxLDYg
KzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IHJlCitpbXBvcnQgc3lzCiAKIGZyb20g
d2Via2l0MiBpbXBvcnQgbW9kZWwKIApAQCAtNDMsNiArNDQsMTEgQEAgZGVmIHBhcnNlKGZpbGUp
OgogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcjJyk6
CiAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyNpZiAnKToKKyAgICAgICAgICAgICAg
ICBpZiBjb25kaXRpb246CisgICAgICAgICAgICAgICAgICAgICMgRklYTUU6IGdlbmVyYXRlLW1l
c3NhZ2UtcmVjZWl2ZXIucHkgY2FuJ3QgaGFuZGxlIG5lc3RlZCBpZnMKKyAgICAgICAgICAgICAg
ICAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxODc3Cisg
ICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkVSUk9SOiBOZXN0ZWQgI2lmcyBh
cmVuJ3Qgc3VwcG9ydGVkLCBwbGVhc2UgZml4ICVzXG4iICUgZmlsZS5uYW1lKQorICAgICAgICAg
ICAgICAgICAgICBzeXMuZXhpdCgxKQogICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGxpbmUu
cnN0cmlwKClbNDpdCiAgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgnI2VuZGlmJyk6
CiAgICAgICAgICAgICAgICAgY29uZGl0aW9uID0gTm9uZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214558</attachid>
            <date>2013-10-18 05:39:16 -0700</date>
            <delta_ts>2013-10-18 05:51:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>f2253.diff</filename>
            <type>text/plain</type>
            <size>12062</size>
            <attacher name="Gergő Balogh">gbalogh.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzZjhmMTQzLi5mYjZmNzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTMtMTAtMTggIEdlcmdvIEJhbG9naCAgPGdlcnl4eXpAaW5mLnUtc3plZ2VkLmh1Pgor
CisgICAgICAgIGdlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgY2FuJ3QgaGFuZGxlIG5lc3Rl
ZCAjaWZzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjE4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBw
YXJzZXIucHkgd2FzIG1vZGlmaWVkZWQgdG8gY29sbGVjdCBhbmQgY29tYmluZSBjb25kaXRpb25z
IG9mIG5lc3RlZCAjaWZzLgorICAgICAgICBtZXNzYWdlc191bml0dGVzdC5weSBleHRlbmRlZCB0
byBjaGVjayB0aGVzZSBtb2RpZmljYXRpb25zLgkKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlc191bml0dGVzdC5weToKKyAgICAgICAgKExvYWRTb21ldGhpbmcpOgorICAgICAg
ICAoc3RkKToKKyAgICAgICAgKEFkZEV2ZW50KToKKyAgICAgICAgKExvYWRTb21ldGhpbmdFbHNl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5OgorICAgICAgICAoY29tYmlu
ZV9jb25kaXRpb24pOgorICAgICAgICAoYnJhY2tldF9pZl9uZWVkZWQpOgorICAgICAgICAocGFy
c2UpOgorCiAyMDEzLTEwLTE3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW90ZSBMYXllciBUcmVlOiBQcm94eSBsYXllciBjb250ZW50cyB0byB0
aGUgVUkgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQy
L21lc3NhZ2VzX3VuaXR0ZXN0LnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzX3VuaXR0ZXN0LnB5CmluZGV4IDM3MmJjNTguLmQzNmE1NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXNfdW5pdHRlc3QucHkKQEAgLTUx
LDEyICs1MSwyMCBAQCBfbWVzc2FnZXNfZmlsZV9jb250ZW50cyA9ICIiIiMgQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCiAjaWYgRU5BQkxFKFdFQktJVDIpCisjaWYgTkVTVEVEX01BU1RFUl9DT05ESVRJT04gfHwg
TUFTVEVSX09SICYmIE1BU1RFUl9BTkQKIAogbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNl
aXZlciB7CiAgICAgTG9hZFVSTChXVEY6OlN0cmluZyB1cmwpCiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICBMb2FkU29tZXRoaW5nKFdURjo6U3RyaW5nIHVybCkKKyNpZiBORVNURURfTUVT
U0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTgogICAgIFRvdWNo
RXZlbnQoV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50KQogI2VuZGlmCisjaWYgTkVTVEVEX01F
U1NBR0VfQ09ORElUSU9OICYmIFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04KKyAgICBBZGRF
dmVudChXZWJLaXQ6OldlYlRvdWNoRXZlbnQgZXZlbnQpCisjZW5kaWYKKyAgICBMb2FkU29tZXRo
aW5nRWxzZShXVEY6OlN0cmluZyB1cmwpCisjZW5kaWYKICAgICBEaWRSZWNlaXZlUG9saWN5RGVj
aXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgdWludDMyX3QgcG9s
aWN5QWN0aW9uKQogICAgIENsb3NlKCkKIApAQCAtOTQsMTEgKzEwMiwxMiBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKIH0KIAogI2VuZGlmCisjZW5kaWYKICIiIgogCiBf
ZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAnbmFtZSc6ICdXZWJQYWdlJywKLSAgICAnY29uZGl0
aW9ucyc6ICgnRU5BQkxFKFdFQktJVDIpJyksCisgICAgJ2NvbmRpdGlvbnMnOiAoJyhFTkFCTEUo
V0VCS0lUMikgJiYgKE5FU1RFRF9NQVNURVJfQ09ORElUSU9OIHx8IE1BU1RFUl9PUiAmJiBNQVNU
RVJfQU5EKSknKSwKICAgICAnbWVzc2FnZXMnOiAoCiAgICAgICAgIHsKICAgICAgICAgICAgICdu
YW1lJzogJ0xvYWRVUkwnLApAQCAtMTA4LDEwICsxMTcsMzEgQEAgX2V4cGVjdGVkX3Jlc3VsdHMg
PSB7CiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IChOb25lKSwKICAgICAgICAgfSwKICAgICAg
ICAgeworICAgICAgICAgICAgJ25hbWUnOiAnTG9hZFNvbWV0aGluZycsCisgICAgICAgICAgICAn
cGFyYW1ldGVycyc6ICgKKyAgICAgICAgICAgICAgICAoJ1dURjo6U3RyaW5nJywgJ3VybCcpLAor
ICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICdjb25kaXRpb25zJzogKCdFTkFCTEUoVE9VQ0hf
RVZFTlRTKScpLAorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAnbmFtZSc6ICdU
b3VjaEV2ZW50JywKICAgICAgICAgICAgICdwYXJhbWV0ZXJzJzogKAogICAgICAgICAgICAgICAg
ICgnV2ViS2l0OjpXZWJUb3VjaEV2ZW50JywgJ2V2ZW50JyksCiAgICAgICAgICAgICApLAorICAg
ICAgICAgICAgJ2NvbmRpdGlvbnMnOiAoJyhFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVE
X01FU1NBR0VfQ09ORElUSU9OIHx8IFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKScpLAor
ICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAnbmFtZSc6ICdBZGRFdmVudCcsCisg
ICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKKyAgICAgICAgICAgICAgICAoJ1dlYktpdDo6V2Vi
VG91Y2hFdmVudCcsICdldmVudCcpLAorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICdjb25k
aXRpb25zJzogKCcoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdFX0NPTkRJ
VElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSknKSwKKyAgICAgICAgfSwKKyAg
ICAgICAgeworICAgICAgICAgICAgJ25hbWUnOiAnTG9hZFNvbWV0aGluZ0Vsc2UnLAorICAgICAg
ICAgICAgJ3BhcmFtZXRlcnMnOiAoCisgICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1
cmwnKSwKKyAgICAgICAgICAgICksCiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6ICgnRU5BQkxF
KFRPVUNIX0VWRU5UUyknKSwKICAgICAgICAgfSwKICAgICAgICAgewpAQCAtMzEyLDcgKzM0Miw3
IEBAIF9leHBlY3RlZF9oZWFkZXIgPSAiIiIvKgogI2lmbmRlZiBXZWJQYWdlTWVzc2FnZXNfaAog
I2RlZmluZSBXZWJQYWdlTWVzc2FnZXNfaAogCi0jaWYgRU5BQkxFKFdFQktJVDIpCisjaWYgKEVO
QUJMRShXRUJLSVQyKSAmJiAoTkVTVEVEX01BU1RFUl9DT05ESVRJT04gfHwgTUFTVEVSX09SICYm
IE1BU1RFUl9BTkQpKQogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiQ29ubmVj
dGlvbi5oIgpAQCAtMzcyLDYgKzQwMiwzMCBAQCBwcml2YXRlOgogfTsKIAogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCitjbGFzcyBMb2FkU29tZXRoaW5nIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVm
IHN0ZDo6dHVwbGU8V1RGOjpTdHJpbmc+IERlY29kZVR5cGU7CisKKyAgICBzdGF0aWMgQ29yZUlQ
Qzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsgcmV0dXJuIG1lc3NhZ2VSZWNlaXZl
ck5hbWUoKTsgfQorICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbmFtZSgpIHsg
cmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiTG9hZFNvbWV0aGluZyIpOyB9CisgICAg
c3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CisKKyAgICBleHBsaWNpdCBMb2FkU29t
ZXRoaW5nKGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpCisgICAgICAgIDogbV9hcmd1bWVudHModXJs
KQorICAgIHsKKyAgICB9CisKKyAgICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5n
Jj4gYXJndW1lbnRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IG1f
YXJndW1lbnRzOworfTsKKyNlbmRpZgorCisjaWYgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChO
RVNURURfTUVTU0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikp
CiBjbGFzcyBUb3VjaEV2ZW50IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V2Vi
S2l0OjpXZWJUb3VjaEV2ZW50PiBEZWNvZGVUeXBlOwpAQCAtMzk1LDYgKzQ0OSw1NCBAQCBwcml2
YXRlOgogfTsKICNlbmRpZgogCisjaWYgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChORVNURURf
TUVTU0FHRV9DT05ESVRJT04gJiYgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikpCitjbGFz
cyBBZGRFdmVudCB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdlYktpdDo6V2Vi
VG91Y2hFdmVudD4gRGVjb2RlVHlwZTsKKworICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZl
cmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTmFtZSgpOyB9Cisg
ICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gQ29yZUlQ
Qzo6U3RyaW5nUmVmZXJlbmNlKCJBZGRFdmVudCIpOyB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
aXNTeW5jID0gZmFsc2U7CisKKyAgICBleHBsaWNpdCBBZGRFdmVudChjb25zdCBXZWJLaXQ6Oldl
YlRvdWNoRXZlbnQmIGV2ZW50KQorICAgICAgICA6IG1fYXJndW1lbnRzKGV2ZW50KQorICAgIHsK
KyAgICB9CisKKyAgICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFdlYktpdDo6V2ViVG91Y2hFdmVu
dCY+IGFyZ3VtZW50cygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9hcmd1bWVudHM7
CisgICAgfQorCitwcml2YXRlOgorICAgIHN0ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpXZWJUb3Vj
aEV2ZW50Jj4gbV9hcmd1bWVudHM7Cit9OworI2VuZGlmCisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorY2xhc3MgTG9hZFNvbWV0aGluZ0Vsc2UgeworcHVibGljOgorICAgIHR5cGVkZWYgc3Rk
Ojp0dXBsZTxXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsKKworICAgIHN0YXRpYyBDb3JlSVBDOjpT
dHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTmFt
ZSgpOyB9CisgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1
cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJMb2FkU29tZXRoaW5nRWxzZSIpOyB9CisgICAg
c3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CisKKyAgICBleHBsaWNpdCBMb2FkU29t
ZXRoaW5nRWxzZShjb25zdCBXVEY6OlN0cmluZyYgdXJsKQorICAgICAgICA6IG1fYXJndW1lbnRz
KHVybCkKKyAgICB7CisgICAgfQorCisgICAgY29uc3Qgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0
cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9hcmd1bWVu
dHM7CisgICAgfQorCitwcml2YXRlOgorICAgIHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcm
PiBtX2FyZ3VtZW50czsKK307CisjZW5kaWYKKwogY2xhc3MgRGlkUmVjZWl2ZVBvbGljeURlY2lz
aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIHVpbnQ2NF90
LCB1aW50MzJfdD4gRGVjb2RlVHlwZTsKQEAgLTc3Niw3ICs4NzgsNyBAQCBwcml2YXRlOgogfSAv
LyBuYW1lc3BhY2UgV2ViUGFnZQogfSAvLyBuYW1lc3BhY2UgTWVzc2FnZXMKIAotI2VuZGlmIC8v
IEVOQUJMRShXRUJLSVQyKQorI2VuZGlmIC8vIChFTkFCTEUoV0VCS0lUMikgJiYgKE5FU1RFRF9N
QVNURVJfQ09ORElUSU9OIHx8IE1BU1RFUl9PUiAmJiBNQVNURVJfQU5EKSkKIAogI2VuZGlmIC8v
IFdlYlBhZ2VNZXNzYWdlc19oCiAiIiIKQEAgLTgwNyw3ICs5MDksNyBAQCBfZXhwZWN0ZWRfcmVj
ZWl2ZXJfaW1wbGVtZW50YXRpb24gPSAiIiIvKgogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNp
ZiBFTkFCTEUoV0VCS0lUMikKKyNpZiAoRU5BQkxFKFdFQktJVDIpICYmIChORVNURURfTUFTVEVS
X0NPTkRJVElPTiB8fCBNQVNURVJfT1IgJiYgTUFTVEVSX0FORCkpCiAKICNpbmNsdWRlICJXZWJQ
YWdlLmgiCiAKQEAgLTgyMyw3ICs5MjUsNyBAQCBfZXhwZWN0ZWRfcmVjZWl2ZXJfaW1wbGVtZW50
YXRpb24gPSAiIiIvKgogI2luY2x1ZGUgIk1lc3NhZ2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiUGx1
Z2luLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0jaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKKyNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdF
X0NPTkRJVElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkgfHwgKEVOQUJMRShU
T1VDSF9FVkVOVFMpICYmIChORVNURURfTUVTU0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9N
RVNTQUdFX0NPTkRJVElPTikpCiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNlbmRpZgogI2luY2x1
ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgpAQCAtODkzLDExICs5OTUsMjkgQEAgdm9pZCBXZWJQYWdl
OjpkaWRSZWNlaXZlV2ViUGFnZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VEZWMKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2U6
OkxvYWRTb21ldGhpbmc6Om5hbWUoKSkgeworICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdl
PE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkU29tZXRoaW5nPihkZWNvZGVyLCB0aGlzLCAmV2ViUGFn
ZTo6bG9hZFNvbWV0aGluZyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKyNpZiAo
RU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiB8fCBTT01F
X09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlTmFtZSgp
ID09IE1lc3NhZ2VzOjpXZWJQYWdlOjpUb3VjaEV2ZW50OjpuYW1lKCkpIHsKICAgICAgICAgQ29y
ZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViUGFnZTo6VG91Y2hFdmVudD4oZGVjb2Rl
ciwgdGhpcywgJldlYlBhZ2U6OnRvdWNoRXZlbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
I2VuZGlmCisjaWYgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChORVNURURfTUVTU0FHRV9DT05E
SVRJT04gJiYgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikpCisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZTo6QWRkRXZlbnQ6Om5hbWUoKSkgewor
ICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQYWdlOjpBZGRFdmVu
dD4oZGVjb2RlciwgdGhpcywgJldlYlBhZ2U6OmFkZEV2ZW50KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyNlbmRpZgorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFNvbWV0aGluZ0Vsc2U6Om5h
bWUoKSkgeworICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQYWdl
OjpMb2FkU29tZXRoaW5nRWxzZT4oZGVjb2RlciwgdGhpcywgJldlYlBhZ2U6OmxvYWRTb21ldGhp
bmdFbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbjo6bmFtZSgpKSB7CiAgICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6
OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbj4oZGVjb2RlciwgdGhpcywgJldlYlBh
Z2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbik7CiAgICAgICAgIHJldHVybjsKQEAgLTk4MCw3
ICsxMTAwLDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlU3luY1dlYlBhZ2VNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmUKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoV0VCS0lUMikKKyNlbmRpZiAvLyAoRU5BQkxFKFdFQktJ
VDIpICYmIChORVNURURfTUFTVEVSX0NPTkRJVElPTiB8fCBNQVNURVJfT1IgJiYgTUFTVEVSX0FO
RCkpCiAiIiIKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIv
cGFyc2VyLnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL3BhcnNlci5weQppbmRl
eCA1MzJhNTQyLi41OGNiZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dl
YmtpdDIvcGFyc2VyLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9wYXJz
ZXIucHkKQEAgLTIxLDM3ICsyMSw0OCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgcmUKLWlt
cG9ydCBzeXMKIAogZnJvbSB3ZWJraXQyIGltcG9ydCBtb2RlbAogCiAKK2RlZiBjb21iaW5lX2Nv
bmRpdGlvbihjb25kaXRpb25zKToKKyAgICBpZiBjb25kaXRpb25zOgorICAgICAgICBpZiBsZW4o
Y29uZGl0aW9ucykgPT0gMToKKyAgICAgICAgICAgIHJldHVybiBjb25kaXRpb25zWzBdCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gYnJhY2tldF9pZl9uZWVkZWQoJyAmJiAnLmpv
aW4obWFwKGJyYWNrZXRfaWZfbmVlZGVkLCBjb25kaXRpb25zKSkpCisgICAgZWxzZToKKyAgICAg
ICAgcmV0dXJuIE5vbmUKKworCitkZWYgYnJhY2tldF9pZl9uZWVkZWQoY29uZGl0aW9uKToKKyAg
ICBpZiByZS5tYXRjaChyJy4qKCYmfFx8XHwpLionLCBjb25kaXRpb24pOgorICAgICAgICByZXR1
cm4gJyglcyknICUgY29uZGl0aW9uCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIGNvbmRpdGlv
bgorCisKIGRlZiBwYXJzZShmaWxlKToKICAgICByZWNlaXZlcl9hdHRyaWJ1dGVzID0gTm9uZQog
ICAgIGRlc3RpbmF0aW9uID0gTm9uZQogICAgIG1lc3NhZ2VzID0gW10KLSAgICBjb25kaXRpb24g
PSBOb25lCisgICAgY29uZGl0aW9ucyA9IFtdCiAgICAgbWFzdGVyX2NvbmRpdGlvbiA9IE5vbmUK
ICAgICBmb3IgbGluZSBpbiBmaWxlOgogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ21lc3Nh
Z2VzIC0+ICg/UDxkZXN0aW5hdGlvbj5bQS1aYS16XzAtOV0rKSBccyooPzooP1A8YXR0cmlidXRl
cz4uKj8pXHMrKT97JywgbGluZSkKICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICByZWNl
aXZlcl9hdHRyaWJ1dGVzID0gcGFyc2VfYXR0cmlidXRlc19zdHJpbmcobWF0Y2guZ3JvdXAoJ2F0
dHJpYnV0ZXMnKSkKIAotICAgICAgICAgICAgaWYgY29uZGl0aW9uOgotICAgICAgICAgICAgICAg
IG1hc3Rlcl9jb25kaXRpb24gPSBjb25kaXRpb24KLSAgICAgICAgICAgICAgICBjb25kaXRpb24g
PSBOb25lCisgICAgICAgICAgICBpZiBjb25kaXRpb25zOgorICAgICAgICAgICAgICAgIG1hc3Rl
cl9jb25kaXRpb24gPSBjb25kaXRpb25zCisgICAgICAgICAgICAgICAgY29uZGl0aW9ucyA9IFtd
CiAgICAgICAgICAgICBkZXN0aW5hdGlvbiA9IG1hdGNoLmdyb3VwKCdkZXN0aW5hdGlvbicpCiAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyMnKToKICAg
ICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnI2lmICcpOgotICAgICAgICAgICAgICAgIGlm
IGNvbmRpdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgIyBGSVhNRTogZ2VuZXJhdGUtbWVzc2Fn
ZS1yZWNlaXZlci5weSBjYW4ndCBoYW5kbGUgbmVzdGVkIGlmcwotICAgICAgICAgICAgICAgICAg
ICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE4NzcKLSAgICAg
ICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRVJST1I6IE5lc3RlZCAjaWZzIGFyZW4n
dCBzdXBwb3J0ZWQsIHBsZWFzZSBmaXggJXNcbiIgJSBmaWxlLm5hbWUpCi0gICAgICAgICAgICAg
ICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICAgICAgY29uZGl0aW9uID0gbGluZS5yc3Ry
aXAoKVs0Ol0KLSAgICAgICAgICAgIGVsaWYgbGluZS5zdGFydHN3aXRoKCcjZW5kaWYnKToKLSAg
ICAgICAgICAgICAgICBjb25kaXRpb24gPSBOb25lCisgICAgICAgICAgICAgICAgY29uZGl0aW9u
cy5hcHBlbmQobGluZS5yc3RyaXAoKVs0Ol0pCisgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRz
d2l0aCgnI2VuZGlmJykgYW5kIGNvbmRpdGlvbnM6CisgICAgICAgICAgICAgICAgY29uZGl0aW9u
cy5wb3AoKQogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2go
cicoW0EtWmEtel8wLTldKylcKCguKj8pXCkoPzooPzpccystPlxzKylcKCguKj8pXCkpPyg/Olxz
KyguKikpPycsIGxpbmUpCiAgICAgICAgIGlmIG1hdGNoOgpAQCAtNTksNyArNzAsNyBAQCBkZWYg
cGFyc2UoZmlsZSk6CiAgICAgICAgICAgICBpZiBwYXJhbWV0ZXJzX3N0cmluZzoKICAgICAgICAg
ICAgICAgICBwYXJhbWV0ZXJzID0gcGFyc2VfcGFyYW1ldGVyc19zdHJpbmcocGFyYW1ldGVyc19z
dHJpbmcpCiAgICAgICAgICAgICAgICAgZm9yIHBhcmFtZXRlciBpbiBwYXJhbWV0ZXJzOgotICAg
ICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIuY29uZGl0aW9uID0gY29uZGl0aW9uCisgICAgICAg
ICAgICAgICAgICAgIHBhcmFtZXRlci5jb25kaXRpb24gPSBjb21iaW5lX2NvbmRpdGlvbihjb25k
aXRpb25zKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzID0g
W10KIApAQCAtNjgsMTQgKzc5LDE0IEBAIGRlZiBwYXJzZShmaWxlKToKICAgICAgICAgICAgIGlm
IHJlcGx5X3BhcmFtZXRlcnNfc3RyaW5nOgogICAgICAgICAgICAgICAgIHJlcGx5X3BhcmFtZXRl
cnMgPSBwYXJzZV9wYXJhbWV0ZXJzX3N0cmluZyhyZXBseV9wYXJhbWV0ZXJzX3N0cmluZykKICAg
ICAgICAgICAgICAgICBmb3IgcmVwbHlfcGFyYW1ldGVyIGluIHJlcGx5X3BhcmFtZXRlcnM6Ci0g
ICAgICAgICAgICAgICAgICAgIHJlcGx5X3BhcmFtZXRlci5jb25kaXRpb24gPSBjb25kaXRpb24K
KyAgICAgICAgICAgICAgICAgICAgcmVwbHlfcGFyYW1ldGVyLmNvbmRpdGlvbiA9IGNvbWJpbmVf
Y29uZGl0aW9uKGNvbmRpdGlvbnMpCiAgICAgICAgICAgICBlbGlmIHJlcGx5X3BhcmFtZXRlcnNf
c3RyaW5nID09ICcnOgogICAgICAgICAgICAgICAgIHJlcGx5X3BhcmFtZXRlcnMgPSBbXQogICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZXBseV9wYXJhbWV0ZXJzID0gTm9uZQog
Ci0gICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQobW9kZWwuTWVzc2FnZShuYW1lLCBwYXJhbWV0
ZXJzLCByZXBseV9wYXJhbWV0ZXJzLCBhdHRyaWJ1dGVzLCBjb25kaXRpb24pKQotICAgIHJldHVy
biBtb2RlbC5NZXNzYWdlUmVjZWl2ZXIoZGVzdGluYXRpb24sIHJlY2VpdmVyX2F0dHJpYnV0ZXMs
IG1lc3NhZ2VzLCBtYXN0ZXJfY29uZGl0aW9uKQorICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5k
KG1vZGVsLk1lc3NhZ2UobmFtZSwgcGFyYW1ldGVycywgcmVwbHlfcGFyYW1ldGVycywgYXR0cmli
dXRlcywgY29tYmluZV9jb25kaXRpb24oY29uZGl0aW9ucykpKQorICAgIHJldHVybiBtb2RlbC5N
ZXNzYWdlUmVjZWl2ZXIoZGVzdGluYXRpb24sIHJlY2VpdmVyX2F0dHJpYnV0ZXMsIG1lc3NhZ2Vz
LCBjb21iaW5lX2NvbmRpdGlvbihtYXN0ZXJfY29uZGl0aW9uKSkKIAogCiBkZWYgcGFyc2VfYXR0
cmlidXRlc19zdHJpbmcoYXR0cmlidXRlc19zdHJpbmcpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214559</attachid>
            <date>2013-10-18 05:51:13 -0700</date>
            <delta_ts>2013-11-14 14:17:52 -0800</delta_ts>
            <desc>patch</desc>
            <filename>f2253.diff</filename>
            <type>text/plain</type>
            <size>12061</size>
            <attacher name="Gergő Balogh">gbalogh.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzZjhmMTQzLi5iZGIxMGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTMtMTAtMTggIEdlcmdvIEJhbG9naCAgPGdlcnl4eXpAaW5mLnUtc3plZ2VkLmh1Pgor
CisgICAgICAgIGdlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgY2FuJ3QgaGFuZGxlIG5lc3Rl
ZCAjaWZzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjE4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBw
YXJzZXIucHkgd2FzIG1vZGlmaWVkZWQgdG8gY29sbGVjdCBhbmQgY29tYmluZSBjb25kaXRpb25z
IG9mIG5lc3RlZCAjaWZzLgorICAgICAgICBtZXNzYWdlc191bml0dGVzdC5weSBleHRlbmRlZCB0
byBjaGVjayB0aGVzZSBtb2RpZmljYXRpb25zLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQy
L21lc3NhZ2VzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoTG9hZFNvbWV0aGluZyk6CisgICAgICAg
IChzdGQpOgorICAgICAgICAoQWRkRXZlbnQpOgorICAgICAgICAoTG9hZFNvbWV0aGluZ0Vsc2Up
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9wYXJzZXIucHk6CisgICAgICAgIChjb21iaW5l
X2NvbmRpdGlvbik6CisgICAgICAgIChicmFja2V0X2lmX25lZWRlZCk6CisgICAgICAgIChwYXJz
ZSk6CisKIDIwMTMtMTAtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IFByb3h5IGxheWVyIGNvbnRlbnRzIHRvIHRo
ZSBVSSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIv
bWVzc2FnZXNfdW5pdHRlc3QucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVz
c2FnZXNfdW5pdHRlc3QucHkKaW5kZXggMzcyYmM1OC4uZDM2YTU0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzX3VuaXR0ZXN0LnB5CisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQpAQCAtNTEs
MTIgKzUxLDIwIEBAIF9tZXNzYWdlc19maWxlX2NvbnRlbnRzID0gIiIiIyBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAKICNpZiBFTkFCTEUoV0VCS0lUMikKKyNpZiBORVNURURfTUFTVEVSX0NPTkRJVElPTiB8fCBN
QVNURVJfT1IgJiYgTUFTVEVSX0FORAogCiBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBMb2FkVVJMKFdURjo6U3RyaW5nIHVybCkKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorICAgIExvYWRTb21ldGhpbmcoV1RGOjpTdHJpbmcgdXJsKQorI2lmIE5FU1RFRF9NRVNT
QUdFX0NPTkRJVElPTiB8fCBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OCiAgICAgVG91Y2hF
dmVudChXZWJLaXQ6OldlYlRvdWNoRXZlbnQgZXZlbnQpCiAjZW5kaWYKKyNpZiBORVNURURfTUVT
U0FHRV9DT05ESVRJT04gJiYgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTgorICAgIEFkZEV2
ZW50KFdlYktpdDo6V2ViVG91Y2hFdmVudCBldmVudCkKKyNlbmRpZgorICAgIExvYWRTb21ldGhp
bmdFbHNlKFdURjo6U3RyaW5nIHVybCkKKyNlbmRpZgogICAgIERpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbih1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCB1aW50MzJfdCBwb2xp
Y3lBY3Rpb24pCiAgICAgQ2xvc2UoKQogCkBAIC05NCwxMSArMTAyLDEyIEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogfQogCiAjZW5kaWYKKyNlbmRpZgogIiIiCiAKIF9l
eHBlY3RlZF9yZXN1bHRzID0gewogICAgICduYW1lJzogJ1dlYlBhZ2UnLAotICAgICdjb25kaXRp
b25zJzogKCdFTkFCTEUoV0VCS0lUMiknKSwKKyAgICAnY29uZGl0aW9ucyc6ICgnKEVOQUJMRShX
RUJLSVQyKSAmJiAoTkVTVEVEX01BU1RFUl9DT05ESVRJT04gfHwgTUFTVEVSX09SICYmIE1BU1RF
Ul9BTkQpKScpLAogICAgICdtZXNzYWdlcyc6ICgKICAgICAgICAgewogICAgICAgICAgICAgJ25h
bWUnOiAnTG9hZFVSTCcsCkBAIC0xMDgsMTAgKzExNywzMSBAQCBfZXhwZWN0ZWRfcmVzdWx0cyA9
IHsKICAgICAgICAgICAgICdjb25kaXRpb25zJzogKE5vbmUpLAogICAgICAgICB9LAogICAgICAg
ICB7CisgICAgICAgICAgICAnbmFtZSc6ICdMb2FkU29tZXRoaW5nJywKKyAgICAgICAgICAgICdw
YXJhbWV0ZXJzJzogKAorICAgICAgICAgICAgICAgICgnV1RGOjpTdHJpbmcnLCAndXJsJyksCisg
ICAgICAgICAgICApLAorICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiAoJ0VOQUJMRShUT1VDSF9F
VkVOVFMpJyksCisgICAgICAgIH0sCisgICAgICAgIHsKICAgICAgICAgICAgICduYW1lJzogJ1Rv
dWNoRXZlbnQnLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAoCiAgICAgICAgICAgICAgICAg
KCdXZWJLaXQ6OldlYlRvdWNoRXZlbnQnLCAnZXZlbnQnKSwKICAgICAgICAgICAgICksCisgICAg
ICAgICAgICAnY29uZGl0aW9ucyc6ICgnKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChORVNURURf
TUVTU0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikpJyksCisg
ICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICduYW1lJzogJ0FkZEV2ZW50JywKKyAg
ICAgICAgICAgICdwYXJhbWV0ZXJzJzogKAorICAgICAgICAgICAgICAgICgnV2ViS2l0OjpXZWJU
b3VjaEV2ZW50JywgJ2V2ZW50JyksCisgICAgICAgICAgICApLAorICAgICAgICAgICAgJ2NvbmRp
dGlvbnMnOiAoJyhFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVEX01FU1NBR0VfQ09ORElU
SU9OICYmIFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKScpLAorICAgICAgICB9LAorICAg
ICAgICB7CisgICAgICAgICAgICAnbmFtZSc6ICdMb2FkU29tZXRoaW5nRWxzZScsCisgICAgICAg
ICAgICAncGFyYW1ldGVycyc6ICgKKyAgICAgICAgICAgICAgICAoJ1dURjo6U3RyaW5nJywgJ3Vy
bCcpLAorICAgICAgICAgICAgKSwKICAgICAgICAgICAgICdjb25kaXRpb25zJzogKCdFTkFCTEUo
VE9VQ0hfRVZFTlRTKScpLAogICAgICAgICB9LAogICAgICAgICB7CkBAIC0zMTIsNyArMzQyLDcg
QEAgX2V4cGVjdGVkX2hlYWRlciA9ICIiIi8qCiAjaWZuZGVmIFdlYlBhZ2VNZXNzYWdlc19oCiAj
ZGVmaW5lIFdlYlBhZ2VNZXNzYWdlc19oCiAKLSNpZiBFTkFCTEUoV0VCS0lUMikKKyNpZiAoRU5B
QkxFKFdFQktJVDIpICYmIChORVNURURfTUFTVEVSX0NPTkRJVElPTiB8fCBNQVNURVJfT1IgJiYg
TUFTVEVSX0FORCkpCiAKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCkBAIC0zNzIsNiArNDAyLDMwIEBAIHByaXZhdGU6CiB9OwogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKK2NsYXNzIExvYWRTb21ldGhpbmcgeworcHVibGljOgorICAgIHR5cGVkZWYg
c3RkOjp0dXBsZTxXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsKKworICAgIHN0YXRpYyBDb3JlSVBD
OjpTdHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJlY2VpdmVy
TmFtZSgpOyB9CisgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyBy
ZXR1cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJMb2FkU29tZXRoaW5nIik7IH0KKyAgICBz
dGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKKworICAgIGV4cGxpY2l0IExvYWRTb21l
dGhpbmcoY29uc3QgV1RGOjpTdHJpbmcmIHVybCkKKyAgICAgICAgOiBtX2FyZ3VtZW50cyh1cmwp
CisgICAgeworICAgIH0KKworICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcm
PiBhcmd1bWVudHMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5nJj4gbV9h
cmd1bWVudHM7Cit9OworI2VuZGlmCisKKyNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5F
U1RFRF9NRVNTQUdFX0NPTkRJVElPTiB8fCBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkK
IGNsYXNzIFRvdWNoRXZlbnQgewogcHVibGljOgogICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXZWJL
aXQ6OldlYlRvdWNoRXZlbnQ+IERlY29kZVR5cGU7CkBAIC0zOTUsNiArNDQ5LDU0IEBAIHByaXZh
dGU6CiB9OwogI2VuZGlmCiAKKyNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9N
RVNTQUdFX0NPTkRJVElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkKK2NsYXNz
IEFkZEV2ZW50IHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V2ViS2l0OjpXZWJU
b3VjaEV2ZW50PiBEZWNvZGVUeXBlOworCisgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVy
ZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBtZXNzYWdlUmVjZWl2ZXJOYW1lKCk7IH0KKyAg
ICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBDb3JlSVBD
OjpTdHJpbmdSZWZlcmVuY2UoIkFkZEV2ZW50Iik7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBp
c1N5bmMgPSBmYWxzZTsKKworICAgIGV4cGxpY2l0IEFkZEV2ZW50KGNvbnN0IFdlYktpdDo6V2Vi
VG91Y2hFdmVudCYgZXZlbnQpCisgICAgICAgIDogbV9hcmd1bWVudHMoZXZlbnQpCisgICAgewor
ICAgIH0KKworICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpXZWJUb3VjaEV2ZW50
Jj4gYXJndW1lbnRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RkOjp0dXBsZTxjb25zdCBXZWJLaXQ6OldlYlRvdWNo
RXZlbnQmPiBtX2FyZ3VtZW50czsKK307CisjZW5kaWYKKworI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCitjbGFzcyBMb2FkU29tZXRoaW5nRWxzZSB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBzdGQ6
OnR1cGxlPFdURjo6U3RyaW5nPiBEZWNvZGVUeXBlOworCisgICAgc3RhdGljIENvcmVJUEM6OlN0
cmluZ1JlZmVyZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBtZXNzYWdlUmVjZWl2ZXJOYW1l
KCk7IH0KKyAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVy
biBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UoIkxvYWRTb21ldGhpbmdFbHNlIik7IH0KKyAgICBz
dGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKKworICAgIGV4cGxpY2l0IExvYWRTb21l
dGhpbmdFbHNlKGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpCisgICAgICAgIDogbV9hcmd1bWVudHMo
dXJsKQorICAgIHsKKyAgICB9CisKKyAgICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3Ry
aW5nJj4gYXJndW1lbnRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FyZ3VtZW50
czsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+
IG1fYXJndW1lbnRzOworfTsKKyNlbmRpZgorCiBjbGFzcyBEaWRSZWNlaXZlUG9saWN5RGVjaXNp
b24gewogcHVibGljOgogICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx1aW50NjRfdCwgdWludDY0X3Qs
IHVpbnQzMl90PiBEZWNvZGVUeXBlOwpAQCAtNzc2LDcgKzg3OCw3IEBAIHByaXZhdGU6CiB9IC8v
IG5hbWVzcGFjZSBXZWJQYWdlCiB9IC8vIG5hbWVzcGFjZSBNZXNzYWdlcwogCi0jZW5kaWYgLy8g
RU5BQkxFKFdFQktJVDIpCisjZW5kaWYgLy8gKEVOQUJMRShXRUJLSVQyKSAmJiAoTkVTVEVEX01B
U1RFUl9DT05ESVRJT04gfHwgTUFTVEVSX09SICYmIE1BU1RFUl9BTkQpKQogCiAjZW5kaWYgLy8g
V2ViUGFnZU1lc3NhZ2VzX2gKICIiIgpAQCAtODA3LDcgKzkwOSw3IEBAIF9leHBlY3RlZF9yZWNl
aXZlcl9pbXBsZW1lbnRhdGlvbiA9ICIiIi8qCiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShXRUJLSVQyKQorI2lmIChFTkFCTEUoV0VCS0lUMikgJiYgKE5FU1RFRF9NQVNURVJf
Q09ORElUSU9OIHx8IE1BU1RFUl9PUiAmJiBNQVNURVJfQU5EKSkKIAogI2luY2x1ZGUgIldlYlBh
Z2UuaCIKIApAQCAtODIzLDcgKzkyNSw3IEBAIF9leHBlY3RlZF9yZWNlaXZlcl9pbXBsZW1lbnRh
dGlvbiA9ICIiIi8qCiAjaW5jbHVkZSAiTWVzc2FnZURlY29kZXIuaCIKICNpbmNsdWRlICJQbHVn
aW4uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKLSNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQorI2lmIChFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVEX01FU1NBR0Vf
Q09ORElUSU9OICYmIFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKSB8fCAoRU5BQkxFKFRP
VUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiB8fCBTT01FX09USEVSX01F
U1NBR0VfQ09ORElUSU9OKSkKICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2VuZGlmCiAjaW5jbHVk
ZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCkBAIC04OTMsMTEgKzk5NSwyOSBAQCB2b2lkIFdlYlBhZ2U6
OmRpZFJlY2VpdmVXZWJQYWdlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZURlYwogICAgICAgICByZXR1cm47CiAgICAgfQogI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZTo6
TG9hZFNvbWV0aGluZzo6bmFtZSgpKSB7CisgICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8
TWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRTb21ldGhpbmc+KGRlY29kZXIsIHRoaXMsICZXZWJQYWdl
Ojpsb2FkU29tZXRoaW5nKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorI2lmIChF
TkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVEX01FU1NBR0VfQ09ORElUSU9OIHx8IFNPTUVf
T1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VOYW1lKCkg
PT0gTWVzc2FnZXM6OldlYlBhZ2U6OlRvdWNoRXZlbnQ6Om5hbWUoKSkgewogICAgICAgICBDb3Jl
SVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQYWdlOjpUb3VjaEV2ZW50PihkZWNvZGVy
LCB0aGlzLCAmV2ViUGFnZTo6dG91Y2hFdmVudCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAj
ZW5kaWYKKyNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdFX0NPTkRJ
VElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkKKyAgICBpZiAoZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlOjpBZGRFdmVudDo6bmFtZSgpKSB7Cisg
ICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2U6OkFkZEV2ZW50
PihkZWNvZGVyLCB0aGlzLCAmV2ViUGFnZTo6YWRkRXZlbnQpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorI2VuZGlmCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBpZiAoZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkU29tZXRoaW5nRWxzZTo6bmFt
ZSgpKSB7CisgICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2U6
OkxvYWRTb21ldGhpbmdFbHNlPihkZWNvZGVyLCB0aGlzLCAmV2ViUGFnZTo6bG9hZFNvbWV0aGlu
Z0Vsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAgICAgaWYgKGRlY29kZXIu
bWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lz
aW9uOjpuYW1lKCkpIHsKICAgICAgICAgQ29yZUlQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6
V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uPihkZWNvZGVyLCB0aGlzLCAmV2ViUGFn
ZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKTsKICAgICAgICAgcmV0dXJuOwpAQCAtOTgwLDcg
KzExMDAsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVTeW5jV2ViUGFnZU1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAotI2VuZGlmIC8vIEVOQUJMRShXRUJLSVQyKQorI2VuZGlmIC8vIChFTkFCTEUoV0VCS0lU
MikgJiYgKE5FU1RFRF9NQVNURVJfQ09ORElUSU9OIHx8IE1BU1RFUl9PUiAmJiBNQVNURVJfQU5E
KSkKICIiIgogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9w
YXJzZXIucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5CmluZGV4
IDUzMmE1NDIuLjU4Y2JlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Vi
a2l0Mi9wYXJzZXIucHkKKysrIGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL3BhcnNl
ci5weQpAQCAtMjEsMzcgKzIxLDQ4IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCByZQotaW1w
b3J0IHN5cwogCiBmcm9tIHdlYmtpdDIgaW1wb3J0IG1vZGVsCiAKIAorZGVmIGNvbWJpbmVfY29u
ZGl0aW9uKGNvbmRpdGlvbnMpOgorICAgIGlmIGNvbmRpdGlvbnM6CisgICAgICAgIGlmIGxlbihj
b25kaXRpb25zKSA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnNbMF0KKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBicmFja2V0X2lmX25lZWRlZCgnICYmICcuam9p
bihtYXAoYnJhY2tldF9pZl9uZWVkZWQsIGNvbmRpdGlvbnMpKSkKKyAgICBlbHNlOgorICAgICAg
ICByZXR1cm4gTm9uZQorCisKK2RlZiBicmFja2V0X2lmX25lZWRlZChjb25kaXRpb24pOgorICAg
IGlmIHJlLm1hdGNoKHInLiooJiZ8XHxcfCkuKicsIGNvbmRpdGlvbik6CisgICAgICAgIHJldHVy
biAnKCVzKScgJSBjb25kaXRpb24KKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gY29uZGl0aW9u
CisKKwogZGVmIHBhcnNlKGZpbGUpOgogICAgIHJlY2VpdmVyX2F0dHJpYnV0ZXMgPSBOb25lCiAg
ICAgZGVzdGluYXRpb24gPSBOb25lCiAgICAgbWVzc2FnZXMgPSBbXQotICAgIGNvbmRpdGlvbiA9
IE5vbmUKKyAgICBjb25kaXRpb25zID0gW10KICAgICBtYXN0ZXJfY29uZGl0aW9uID0gTm9uZQog
ICAgIGZvciBsaW5lIGluIGZpbGU6CiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInbWVzc2Fn
ZXMgLT4gKD9QPGRlc3RpbmF0aW9uPltBLVphLXpfMC05XSspIFxzKig/Oig/UDxhdHRyaWJ1dGVz
Pi4qPylccyspP3snLCBsaW5lKQogICAgICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgIHJlY2Vp
dmVyX2F0dHJpYnV0ZXMgPSBwYXJzZV9hdHRyaWJ1dGVzX3N0cmluZyhtYXRjaC5ncm91cCgnYXR0
cmlidXRlcycpKQogCi0gICAgICAgICAgICBpZiBjb25kaXRpb246Ci0gICAgICAgICAgICAgICAg
bWFzdGVyX2NvbmRpdGlvbiA9IGNvbmRpdGlvbgotICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9
IE5vbmUKKyAgICAgICAgICAgIGlmIGNvbmRpdGlvbnM6CisgICAgICAgICAgICAgICAgbWFzdGVy
X2NvbmRpdGlvbiA9IGNvbmRpdGlvbnMKKyAgICAgICAgICAgICAgICBjb25kaXRpb25zID0gW10K
ICAgICAgICAgICAgIGRlc3RpbmF0aW9uID0gbWF0Y2guZ3JvdXAoJ2Rlc3RpbmF0aW9uJykKICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnIycpOgogICAg
ICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcjaWYgJyk6Ci0gICAgICAgICAgICAgICAgaWYg
Y29uZGl0aW9uOgotICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBnZW5lcmF0ZS1tZXNzYWdl
LXJlY2VpdmVyLnB5IGNhbid0IGhhbmRsZSBuZXN0ZWQgaWZzCi0gICAgICAgICAgICAgICAgICAg
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg3NwotICAgICAg
ICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJFUlJPUjogTmVzdGVkICNpZnMgYXJlbid0
IHN1cHBvcnRlZCwgcGxlYXNlIGZpeCAlc1xuIiAlIGZpbGUubmFtZSkKLSAgICAgICAgICAgICAg
ICAgICAgc3lzLmV4aXQoMSkKLSAgICAgICAgICAgICAgICBjb25kaXRpb24gPSBsaW5lLnJzdHJp
cCgpWzQ6XQotICAgICAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoJyNlbmRpZicpOgotICAg
ICAgICAgICAgICAgIGNvbmRpdGlvbiA9IE5vbmUKKyAgICAgICAgICAgICAgICBjb25kaXRpb25z
LmFwcGVuZChsaW5lLnJzdHJpcCgpWzQ6XSkKKyAgICAgICAgICAgIGVsaWYgbGluZS5zdGFydHN3
aXRoKCcjZW5kaWYnKSBhbmQgY29uZGl0aW9uczoKKyAgICAgICAgICAgICAgICBjb25kaXRpb25z
LnBvcCgpCiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChy
JyhbQS1aYS16XzAtOV0rKVwoKC4qPylcKSg/Oig/OlxzKy0+XHMrKVwoKC4qPylcKSk/KD86XHMr
KC4qKSk/JywgbGluZSkKICAgICAgICAgaWYgbWF0Y2g6CkBAIC01OSw3ICs3MCw3IEBAIGRlZiBw
YXJzZShmaWxlKToKICAgICAgICAgICAgIGlmIHBhcmFtZXRlcnNfc3RyaW5nOgogICAgICAgICAg
ICAgICAgIHBhcmFtZXRlcnMgPSBwYXJzZV9wYXJhbWV0ZXJzX3N0cmluZyhwYXJhbWV0ZXJzX3N0
cmluZykKICAgICAgICAgICAgICAgICBmb3IgcGFyYW1ldGVyIGluIHBhcmFtZXRlcnM6Ci0gICAg
ICAgICAgICAgICAgICAgIHBhcmFtZXRlci5jb25kaXRpb24gPSBjb25kaXRpb24KKyAgICAgICAg
ICAgICAgICAgICAgcGFyYW1ldGVyLmNvbmRpdGlvbiA9IGNvbWJpbmVfY29uZGl0aW9uKGNvbmRp
dGlvbnMpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBb
XQogCkBAIC02OCwxNCArNzksMTQgQEAgZGVmIHBhcnNlKGZpbGUpOgogICAgICAgICAgICAgaWYg
cmVwbHlfcGFyYW1ldGVyc19zdHJpbmc6CiAgICAgICAgICAgICAgICAgcmVwbHlfcGFyYW1ldGVy
cyA9IHBhcnNlX3BhcmFtZXRlcnNfc3RyaW5nKHJlcGx5X3BhcmFtZXRlcnNfc3RyaW5nKQogICAg
ICAgICAgICAgICAgIGZvciByZXBseV9wYXJhbWV0ZXIgaW4gcmVwbHlfcGFyYW1ldGVyczoKLSAg
ICAgICAgICAgICAgICAgICAgcmVwbHlfcGFyYW1ldGVyLmNvbmRpdGlvbiA9IGNvbmRpdGlvbgor
ICAgICAgICAgICAgICAgICAgICByZXBseV9wYXJhbWV0ZXIuY29uZGl0aW9uID0gY29tYmluZV9j
b25kaXRpb24oY29uZGl0aW9ucykKICAgICAgICAgICAgIGVsaWYgcmVwbHlfcGFyYW1ldGVyc19z
dHJpbmcgPT0gJyc6CiAgICAgICAgICAgICAgICAgcmVwbHlfcGFyYW1ldGVycyA9IFtdCiAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJlcGx5X3BhcmFtZXRlcnMgPSBOb25lCiAK
LSAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVuZChtb2RlbC5NZXNzYWdlKG5hbWUsIHBhcmFtZXRl
cnMsIHJlcGx5X3BhcmFtZXRlcnMsIGF0dHJpYnV0ZXMsIGNvbmRpdGlvbikpCi0gICAgcmV0dXJu
IG1vZGVsLk1lc3NhZ2VSZWNlaXZlcihkZXN0aW5hdGlvbiwgcmVjZWl2ZXJfYXR0cmlidXRlcywg
bWVzc2FnZXMsIG1hc3Rlcl9jb25kaXRpb24pCisgICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQo
bW9kZWwuTWVzc2FnZShuYW1lLCBwYXJhbWV0ZXJzLCByZXBseV9wYXJhbWV0ZXJzLCBhdHRyaWJ1
dGVzLCBjb21iaW5lX2NvbmRpdGlvbihjb25kaXRpb25zKSkpCisgICAgcmV0dXJuIG1vZGVsLk1l
c3NhZ2VSZWNlaXZlcihkZXN0aW5hdGlvbiwgcmVjZWl2ZXJfYXR0cmlidXRlcywgbWVzc2FnZXMs
IGNvbWJpbmVfY29uZGl0aW9uKG1hc3Rlcl9jb25kaXRpb24pKQogCiAKIGRlZiBwYXJzZV9hdHRy
aWJ1dGVzX3N0cmluZyhhdHRyaWJ1dGVzX3N0cmluZyk6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>