<?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>100884</bug_id>
          
          <creation_ts>2012-10-31 13:28:35 -0700</creation_ts>
          <short_desc>[chromium] Use embedder-supported gesture curves</short_desc>
          <delta_ts>2012-11-20 15:28:24 -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>UI Events</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>
          <dependson>100675</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Kroeger">rjkroege</reporter>
          <assigned_to name="Robert Kroeger">rjkroege</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755591</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-10-31 13:28:35 -0700</bug_when>
    <thetext>Modify portions of Chromium WebKit to use the embedder-provided gesture curves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755598</commentid>
    <comment_count>1</comment_count>
      <attachid>171713</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-10-31 13:45:33 -0700</bug_when>
    <thetext>Created attachment 171713
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768511</commentid>
    <comment_count>2</comment_count>
      <attachid>174520</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-11-15 14:41:03 -0800</bug_when>
    <thetext>Created attachment 174520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768520</commentid>
    <comment_count>3</comment_count>
      <attachid>174520</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 14:48:03 -0800</bug_when>
    <thetext>Comment on attachment 174520
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=174520&amp;action=review

&gt; Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp:209
&gt; +        m_wheelFlingCurve = WTF::adoptPtr(Platform::current()-&gt;createFlingAnimationCurve(gestureEvent.data.flingStart.sourceDevice, WebFloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY), WebSize()));

WTF::   &lt;--- no need for the WTF prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768528</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 14:51:12 -0800</bug_when>
    <thetext>Attachment 174520 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1
Source/WebKit/chromium/src/WebViewImpl.h:123:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 5 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>768570</commentid>
    <comment_count>5</comment_count>
      <attachid>174533</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-11-15 15:27:05 -0800</bug_when>
    <thetext>Created attachment 174533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768573</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-11-15 15:30:58 -0800</bug_when>
    <thetext>Is the style-bot being silly? I&apos;ve written the change preserves the spacing that was there. Or should I relayout the code?

And abarth: your suggestion made in p3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768574</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 15:33:02 -0800</bug_when>
    <thetext>Attachment 174533 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1
Source/WebKit/chromium/src/WebViewImpl.h:123:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 5 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>768650</commentid>
    <comment_count>8</comment_count>
      <attachid>174533</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-11-15 16:30:46 -0800</bug_when>
    <thetext>Comment on attachment 174533
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=174533&amp;action=review

R=me

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:698
&gt;          // FIXME: Make the curve parametrizable from the browser.
&gt; -        OwnPtr&lt;PlatformGestureCurve&gt; flingCurve = PlatformGestureCurveFactory::get()-&gt;createCurve(event.data.flingStart.sourceDevice, FloatPoint(event.data.flingStart.velocityX, event.data.flingStart.velocityY));
&gt; -        m_gestureAnimation = ActivePlatformGestureAnimation::create(flingCurve.release(), this);
&gt; +        OwnPtr&lt;WebGestureCurve&gt; flingCurve = adoptPtr(Platform::current()-&gt;createFlingAnimationCurve(event.data.flingStart.sourceDevice, WebFloatPoint(event.data.flingStart.velocityX, event.data.flingStart.velocityY), WebSize()));

I think you can remove the FIXME here now, right?

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.h:123
&gt;&gt; +                  , public WebGestureCurveTarget
&gt; 
&gt; Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]

I think it&apos;s being a bit silly here, although this method of listing base classes is a bit unorthodox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772179</commentid>
    <comment_count>9</comment_count>
      <attachid>175281</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-11-20 14:33:06 -0800</bug_when>
    <thetext>Created attachment 175281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772218</commentid>
    <comment_count>10</comment_count>
      <attachid>175281</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 15:28:20 -0800</bug_when>
    <thetext>Comment on attachment 175281
Patch

Clearing flags on attachment: 175281

Committed r135318: &lt;http://trac.webkit.org/changeset/135318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772219</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 15:28:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171713</attachid>
            <date>2012-10-31 13:45:33 -0700</date>
            <delta_ts>2012-11-15 14:41:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100884-20121031164356.patch</filename>
            <type>text/plain</type>
            <size>12335</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAKaW5kZXgg
ODdkN2IyNTIyZTljNjk2YjJhNWIxZGIzY2JhMWI0ODY4NGRiMmY3NS4uNGMyYmYzZjdmYzhiZTA0
MDMxZGE0NmRhZDIzZjVkYTZjMTEwMTc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmNwcApAQCAt
MjcsMTMgKzI3LDEzIEBACiAKICNpbmNsdWRlICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1w
bC5oIgogCi0jaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVGYWN0b3J5LmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNpbmNsdWRlICJUcmFjZUV2ZW50Lmgi
CiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUg
IldlYklucHV0RXZlbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViSW5wdXRIYW5kbGVyQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIApAQCAtMjA2LDggKzIwNiw4IEBAIFdlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsOjpFdmVudERpc3Bvc2l0aW9uIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
OjpoCiAgICAgc3dpdGNoIChzY3JvbGxTdGF0dXMpIHsKICAgICBjYXNlIFdlYklucHV0SGFuZGxl
ckNsaWVudDo6U2Nyb2xsU3RhdHVzU3RhcnRlZDogewogICAgICAgICBtX2lucHV0SGFuZGxlckNs
aWVudC0+c2Nyb2xsRW5kKCk7Ci0gICAgICAgIG1fd2hlZWxGbGluZ0N1cnZlID0gUGxhdGZvcm1H
ZXN0dXJlQ3VydmVGYWN0b3J5OjpnZXQoKS0+Y3JlYXRlQ3VydmUoZ2VzdHVyZUV2ZW50LmRhdGEu
ZmxpbmdTdGFydC5zb3VyY2VEZXZpY2UsIEZsb2F0UG9pbnQoZ2VzdHVyZUV2ZW50LmRhdGEuZmxp
bmdTdGFydC52ZWxvY2l0eVgsIGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZ
KSk7Ci0gICAgICAgIFRSQUNFX0VWRU5UX0FTWU5DX0JFR0lOMSgiY2MiLCAiV2ViQ29tcG9zaXRv
cklucHV0SGFuZGxlckltcGw6OmhhbmRsZUdlc3R1cmVGbGluZzo6c3RhcnRlZCIsIHRoaXMsICJj
dXJ2ZSIsIG1fd2hlZWxGbGluZ0N1cnZlLT5kZWJ1Z05hbWUoKSk7CisgICAgICAgIG1fd2hlZWxG
bGluZ0N1cnZlID0gV1RGOjphZG9wdFB0cihQbGF0Zm9ybTo6Y3VycmVudCgpLT5jcmVhdGVGbGlu
Z0FuaW1hdGlvbkN1cnZlKGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNl
LCBXZWJGbG9hdFBvaW50KGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBn
ZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSksIFdlYlNpemUoKSkpOworICAg
ICAgICBUUkFDRV9FVkVOVF9BU1lOQ19CRUdJTjEoImNjIiwgIldlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsOjpoYW5kbGVHZXN0dXJlRmxpbmc6OnN0YXJ0ZWQiLCB0aGlzLCAiY3VydmUiLCBt
X3doZWVsRmxpbmdDdXJ2ZS0+dHJhY2VOYW1lKCkpOwogICAgICAgICBtX3doZWVsRmxpbmdQYXJh
bWV0ZXJzLmRlbHRhID0gV2ViRmxvYXRQb2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0
LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpOwogICAg
ICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnBvaW50ID0gV2ViUG9pbnQoZ2VzdHVyZUV2ZW50
LngsIGdlc3R1cmVFdmVudC55KTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5nbG9i
YWxQb2ludCA9IFdlYlBvaW50KGdlc3R1cmVFdmVudC5nbG9iYWxYLCBnZXN0dXJlRXZlbnQuZ2xv
YmFsWSk7CkBAIC0yNzMsMTYgKzI3MywxNiBAQCBib29sIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRs
ZXJJbXBsOjpjYW5jZWxDdXJyZW50RmxpbmcoKQogICAgIHJldHVybiBoYWRGbGluZ0FuaW1hdGlv
bjsKIH0KIAotdm9pZCBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkoY29u
c3QgSW50UG9pbnQmIGluY3JlbWVudCkKK3ZvaWQgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGw6OnNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50JiBpbmNyZW1lbnQpCiB7Ci0gICAgaWYgKGluY3Jl
bWVudCA9PSBJbnRQb2ludDo6emVybygpKQorICAgIGlmIChpbmNyZW1lbnQgPT0gV2ViUG9pbnQo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVFJBQ0VfRVZFTlQyKCJjYyIsICJXZWJDb21wb3Np
dG9ySW5wdXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkiLCAieCIsIGluY3JlbWVudC54KCksICJ5Iiwg
aW5jcmVtZW50LnkoKSk7CisgICAgVFJBQ0VfRVZFTlQyKCJjYyIsICJXZWJDb21wb3NpdG9ySW5w
dXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkiLCAieCIsIGluY3JlbWVudC54LCAieSIsIGluY3JlbWVu
dC55KTsKICAgICBXZWJNb3VzZVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWw7CiAgICAgc3ludGhl
dGljV2hlZWwudHlwZSA9IFdlYklucHV0RXZlbnQ6Ok1vdXNlV2hlZWw7Ci0gICAgc3ludGhldGlj
V2hlZWwuZGVsdGFYID0gaW5jcmVtZW50LngoKTsKLSAgICBzeW50aGV0aWNXaGVlbC5kZWx0YVkg
PSBpbmNyZW1lbnQueSgpOworICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWCA9IGluY3JlbWVudC54
OworICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWSA9IGluY3JlbWVudC55OwogICAgIHN5bnRoZXRp
Y1doZWVsLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgPSB0cnVlOwogICAgIHN5bnRoZXRpY1do
ZWVsLnggPSBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnBvaW50Lng7CiAgICAgc3ludGhldGljV2hl
ZWwueSA9IG1fd2hlZWxGbGluZ1BhcmFtZXRlcnMucG9pbnQueTsKQEAgLTI5Myw4ICsyOTMsOCBA
QCB2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpzY3JvbGxCeShjb25zdCBJbnRQ
b2ludCYgaW5jcmVtZW50KQogICAgIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpFdmVu
dERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uID0gaGFuZGxlSW5wdXRFdmVudEludGVybmFsKHN5bnRo
ZXRpY1doZWVsKTsKICAgICBzd2l0Y2ggKGRpc3Bvc2l0aW9uKSB7CiAgICAgY2FzZSBEaWRIYW5k
bGU6Ci0gICAgICAgIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbC53aWR0
aCArPSBpbmNyZW1lbnQueCgpOwotICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmN1bXVs
YXRpdmVTY3JvbGwuaGVpZ2h0ICs9IGluY3JlbWVudC55KCk7CisgICAgICAgIG1fd2hlZWxGbGlu
Z1BhcmFtZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbC53aWR0aCArPSBpbmNyZW1lbnQueDsKKyAgICAg
ICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsLmhlaWdodCArPSBpbmNy
ZW1lbnQueTsKICAgICBjYXNlIERyb3BFdmVudDoKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBE
aWROb3RIYW5kbGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJD
b21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaAppbmRleCBmYTgxZGU5NDUyN2NhZDllMmNh
YWNiZDVhOWQ0YTg3M2IzOTZjZWYxLi44YjkzN2NhNTQxZjk5YTdiZTU4Y2EzMmI5MTEzMmFiY2Iy
MDE4M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3Np
dG9ySW5wdXRIYW5kbGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmgKQEAgLTI2LDEwICsyNiwxMSBAQAogI2lmbmRl
ZiBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbF9oCiAjZGVmaW5lIFdlYkNvbXBvc2l0b3JJ
bnB1dEhhbmRsZXJJbXBsX2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0
LmgiCiAjaW5jbHVkZSAiV2ViQWN0aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMuaCIKICNpbmNsdWRl
ICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5o
IgorI2luY2x1ZGUgPHB1YmxpYy9XZWJHZXN0dXJlQ3VydmVUYXJnZXQuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViR2VzdHVyZUN1cnZlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYklucHV0SGFuZGxl
ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CkBAIC00MSwxNCArNDIsMTMgQEAgY2xhc3MgTXV0ZXg7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEludFBvaW50OwotY2xhc3MgUGxhdGZvcm1HZXN0dXJlQ3VydmU7CiB9CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyQ2xpZW50
OwogCi1jbGFzcyBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCA6IHB1YmxpYyBXZWJDb21w
b3NpdG9ySW5wdXRIYW5kbGVyLCBwdWJsaWMgV2ViSW5wdXRIYW5kbGVyLCBwdWJsaWMgV2ViQ29y
ZTo6UGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQgeworY2xhc3MgV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciwgcHVibGljIFdl
YklucHV0SGFuZGxlciwgcHVibGljIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwpOwogcHVibGljOgog
ICAgIHN0YXRpYyBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyKiBmcm9tSWRlbnRpZmllcihpbnQg
aWRlbnRpZmllcik7CkBAIC02NCw4ICs2NCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YmluZFRvQ2xpZW50KFdlYklucHV0SGFuZGxlckNsaWVudCopOwogICAgIHZpcnR1YWwgdm9pZCBh
bmltYXRlKGRvdWJsZSBtb25vdG9uaWNUaW1lKTsKIAotICAgIC8vIFdlYkNvcmU6OlBsYXRmb3Jt
R2VzdHVyZUN1cnZlVGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBzY3Jv
bGxCeShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOworICAgIC8vIFdlYkdlc3R1cmVDdXJ2ZVRh
cmdldCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgV2Vi
UG9pbnQmKTsKIAogICAgIGludCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlm
aWVyOyB9CiAKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRydWUg
aWYgd2UgYWN0dWFsbHkgaGFkIGFuIGFjdGl2ZSBmbGluZyB0byBjYW5jZWwuCiAgICAgYm9vbCBj
YW5jZWxDdXJyZW50RmxpbmcoKTsKIAotICAgIE93blB0cjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1
cmVDdXJ2ZT4gbV93aGVlbEZsaW5nQ3VydmU7CisgICAgT3duUHRyPFdlYkdlc3R1cmVDdXJ2ZT4g
bV93aGVlbEZsaW5nQ3VydmU7CiAgICAgLy8gUGFyYW1ldGVycyBmb3IgdGhlIGFjdGl2ZSBmbGlu
ZyBhbmltYXRpb24sIHN0b3JlZCBpbiBjYXNlIHdlIG5lZWQgdG8gdHJhbnNmZXIgaXQgb3V0IGxh
dGVyLgogICAgIFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzIG1fd2hlZWxGbGluZ1BhcmFt
ZXRlcnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCBkMzc3ODcxYmM3MjZiZDc5OWI3NTkwODhkNzEwZDA1OTMyZTgxMjViLi5kNTdiYmJmMzIyMTU1
ZDk0MDFkMTY4NzU0YWZhNTFiMmM2MTZkM2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiV2ViVmlld0lt
cGwuaCIKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJBY3RpdmVQbGF0
Zm9ybUdlc3R1cmVBbmltYXRpb24uaCIKICNpbmNsdWRlICJBdXRvZmlsbFBvcHVwTWVudUNsaWVu
dC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdENocm9taXVtLmgiCiAjaW5jbHVkZSAiQmF0
dGVyeUNsaWVudEltcGwuaCIKQEAgLTEyMSw2ICsxMjAsNyBAQAogI2luY2x1ZGUgIlRyYWNlRXZl
bnQuaCIKICNpbmNsdWRlICJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudEltcGwuaCIKICNpbmNsdWRl
ICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViQWN0aXZlR2VzdHVyZUFu
aW1hdGlvbi5oIgogI2luY2x1ZGUgIldlYkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiV2ViQXV0b2ZpbGxDbGllbnQuaCIKICNpbmNsdWRlICJXZWJDb21wb3NpdG9ySW5w
dXRIYW5kbGVySW1wbC5oIgpAQCAtMTY2LDcgKzE2Niw2IEBACiAjaW5jbHVkZSA8d3RmL1VpbnQ4
Q2xhbXBlZEFycmF5Lmg+CiAKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCi0jaW5jbHVkZSAi
UGxhdGZvcm1HZXN0dXJlQ3VydmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJl
RXZlbnQuaCIKICNpbmNsdWRlICJUb3VjaERpc2FtYmlndWF0aW9uLmgiCiAjZW5kaWYKQEAgLTY0
MCwxNSArNjM5LDE1IEBAIHZvaWQgV2ViVmlld0ltcGw6OmhhbmRsZU1vdXNlVXAoRnJhbWUmIG1h
aW5GcmFtZSwgY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAjZW5kaWYKIH0KIAotdm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsQnkoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlbHRhKQordm9p
ZCBXZWJWaWV3SW1wbDo6c2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmIGRlbHRhKQogewogICAgIFdl
Yk1vdXNlV2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbDsKICAgICBjb25zdCBmbG9hdCB0aWNrRGl2
aXNvciA9IFdlYkNvcmU6OldoZWVsRXZlbnQ6OnRpY2tNdWx0aXBsaWVyOwogCi0gICAgc3ludGhl
dGljV2hlZWwuZGVsdGFYID0gZGVsdGEueCgpOwotICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWSA9
IGRlbHRhLnkoKTsKLSAgICBzeW50aGV0aWNXaGVlbC53aGVlbFRpY2tzWCA9IGRlbHRhLngoKSAv
IHRpY2tEaXZpc29yOwotICAgIHN5bnRoZXRpY1doZWVsLndoZWVsVGlja3NZID0gZGVsdGEueSgp
IC8gdGlja0Rpdmlzb3I7CisgICAgc3ludGhldGljV2hlZWwuZGVsdGFYID0gZGVsdGEueDsKKyAg
ICBzeW50aGV0aWNXaGVlbC5kZWx0YVkgPSBkZWx0YS55OworICAgIHN5bnRoZXRpY1doZWVsLndo
ZWVsVGlja3NYID0gZGVsdGEueCAvIHRpY2tEaXZpc29yOworICAgIHN5bnRoZXRpY1doZWVsLndo
ZWVsVGlja3NZID0gZGVsdGEueSAvIHRpY2tEaXZpc29yOwogICAgIHN5bnRoZXRpY1doZWVsLmhh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgPSB0cnVlOwogICAgIHN5bnRoZXRpY1doZWVsLnggPSBt
X2xhc3RXaGVlbFBvc2l0aW9uLng7CiAgICAgc3ludGhldGljV2hlZWwueSA9IG1fbGFzdFdoZWVs
UG9zaXRpb24ueTsKQEAgLTY5NSw4ICs2OTQsOCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVH
ZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgbV9sYXN0
V2hlZWxHbG9iYWxQb3NpdGlvbiA9IFdlYlBvaW50KGV2ZW50Lmdsb2JhbFgsIGV2ZW50Lmdsb2Jh
bFkpOwogICAgICAgICBtX2ZsaW5nTW9kaWZpZXIgPSBldmVudC5tb2RpZmllcnM7CiAgICAgICAg
IC8vIEZJWE1FOiBNYWtlIHRoZSBjdXJ2ZSBwYXJhbWV0cml6YWJsZSBmcm9tIHRoZSBicm93c2Vy
LgotICAgICAgICBPd25QdHI8UGxhdGZvcm1HZXN0dXJlQ3VydmU+IGZsaW5nQ3VydmUgPSBQbGF0
Zm9ybUdlc3R1cmVDdXJ2ZUZhY3Rvcnk6OmdldCgpLT5jcmVhdGVDdXJ2ZShldmVudC5kYXRhLmZs
aW5nU3RhcnQuc291cmNlRGV2aWNlLCBGbG9hdFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52
ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsKLSAgICAgICAgbV9n
ZXN0dXJlQW5pbWF0aW9uID0gQWN0aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9uOjpjcmVhdGUo
ZmxpbmdDdXJ2ZS5yZWxlYXNlKCksIHRoaXMpOworICAgICAgICBPd25QdHI8V2ViR2VzdHVyZUN1
cnZlPiBmbGluZ0N1cnZlID0gYWRvcHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxp
bmdBbmltYXRpb25DdXJ2ZShldmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNlLCBXZWJG
bG9hdFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxp
bmdTdGFydC52ZWxvY2l0eVkpLCBXZWJTaXplKCkpKTsKKyAgICAgICAgbV9nZXN0dXJlQW5pbWF0
aW9uID0gV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChm
bGluZ0N1cnZlLnJlbGVhc2UoKSwgdGhpcyk7CiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7
CiAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CkBAIC03OTcs
OCArNzk2LDggQEAgdm9pZCBXZWJWaWV3SW1wbDo6dHJhbnNmZXJBY3RpdmVXaGVlbEZsaW5nQW5p
bWF0aW9uKGNvbnN0IFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXIKICAgICBtX2xhc3RXaGVlbFBvc2l0
aW9uID0gcGFyYW1ldGVycy5wb2ludDsKICAgICBtX2xhc3RXaGVlbEdsb2JhbFBvc2l0aW9uID0g
cGFyYW1ldGVycy5nbG9iYWxQb2ludDsKICAgICBtX2ZsaW5nTW9kaWZpZXIgPSBwYXJhbWV0ZXJz
Lm1vZGlmaWVyczsKLSAgICBPd25QdHI8UGxhdGZvcm1HZXN0dXJlQ3VydmU+IGN1cnZlID0gUGxh
dGZvcm1HZXN0dXJlQ3VydmVGYWN0b3J5OjpnZXQoKS0+Y3JlYXRlQ3VydmUocGFyYW1ldGVycy5z
b3VyY2VEZXZpY2UsIHBhcmFtZXRlcnMuZGVsdGEsIEludFBvaW50KHBhcmFtZXRlcnMuY3VtdWxh
dGl2ZVNjcm9sbCkpOwotICAgIG1fZ2VzdHVyZUFuaW1hdGlvbiA9IEFjdGl2ZVBsYXRmb3JtR2Vz
dHVyZUFuaW1hdGlvbjo6Y3JlYXRlKGN1cnZlLnJlbGVhc2UoKSwgdGhpcywgcGFyYW1ldGVycy5z
dGFydFRpbWUpOworICAgIE93blB0cjxXZWJHZXN0dXJlQ3VydmU+IGN1cnZlID0gYWRvcHRQdHIo
UGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxpbmdBbmltYXRpb25DdXJ2ZShwYXJhbWV0ZXJz
LnNvdXJjZURldmljZSwgV2ViRmxvYXRQb2ludChwYXJhbWV0ZXJzLmRlbHRhKSwgcGFyYW1ldGVy
cy5jdW11bGF0aXZlU2Nyb2xsKSk7CisgICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gV2ViQWN0aXZl
R2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRlV2l0aFRpbWVPZmZzZXQoY3VydmUucmVsZWFzZSgpLCB0
aGlzLCBwYXJhbWV0ZXJzLnN0YXJ0VGltZSk7CiAgICAgc2NoZWR1bGVBbmltYXRpb24oKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzYzMjM5OTdm
MmNmMmRmZmIyNTBmMWJlOTM5MmViOGM2NTljMjcyOS4uZmNhMjc4Nzk1NGZkNDFhNzAzOWU3MGVk
YmIyM2JkMzY0MWMwOGE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5oCkBAIC00NCwxMyArNDQsMTMgQEAKICNpbmNsdWRlICJQYWdlT3ZlcmxheUxpc3QuaCIKICNp
bmNsdWRlICJQYWdlUG9wdXBEcml2ZXIuaCIKICNpbmNsdWRlICJQYWdlV2lkZ2V0RGVsZWdhdGUu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldC5oIgogI2luY2x1ZGUgIlVz
ZXJNZWRpYUNsaWVudEltcGwuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCiAjaW5jbHVk
ZSAiV2ViTmF2aWdhdGlvblBvbGljeS5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRl
ICJXZWJWaWV3QmVuY2htYXJrU3VwcG9ydEltcGwuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxv
YXRRdWFkLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkdlc3R1cmVDdXJ2ZVRhcmdldC5oPgogI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJMYXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXllclRyZWVW
aWV3Q2xpZW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlBvaW50Lmg+CkBAIC02MSw3ICs2MSw2
IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
Y2xhc3MgQWN0aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9uOwogY2xhc3MgQ2hyb21pdW1EYXRh
T2JqZWN0OwogY2xhc3MgQ29sb3I7CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKQEAgLTc0LDcgKzcz
LDYgQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFBhZ2VQb3B1cDsKIGNs
YXNzIFBhZ2VQb3B1cENsaWVudDsKLWNsYXNzIFBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0Owog
Y2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50OwogY2xhc3MgUG9wdXBDb250YWluZXI7CiBjbGFz
cyBQb3B1cE1lbnVDbGllbnQ7CkBAIC0xMDEsNiArOTksNyBAQCBjbGFzcyBTcGVlY2hSZWNvZ25p
dGlvbkNsaWVudFByb3h5OwogY2xhc3MgVXNlck1lZGlhQ2xpZW50SW1wbDsKIGNsYXNzIFZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50SW1wbDsKIGNsYXNzIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q7Citj
bGFzcyBXZWJBY3RpdmVHZXN0dXJlQW5pbWF0aW9uOwogY2xhc3MgV2ViQ29tcG9zaXRvckltcGw7
CiBjbGFzcyBXZWJEZXZUb29sc0FnZW50Q2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudFBy
aXZhdGU7CkBAIC0xMjEsNyArMTIwLDcgQEAgY2xhc3MgV2ViVmlld0JlbmNobWFya1N1cHBvcnQ7
CiBjbGFzcyBXZWJWaWV3SW1wbCA6IHB1YmxpYyBXZWJWaWV3CiAgICAgICAgICAgICAgICAgICAs
IHB1YmxpYyBXZWJMYXllclRyZWVWaWV3Q2xpZW50CiAgICAgICAgICAgICAgICAgICAsIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlZpZXdJbXBsPgotICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2Vi
Q29yZTo6UGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQKKyAgICAgICAgICAgICAgICAgICwgcHVi
bGljIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldAogI2lmIEVOQUJMRShQQUdFX1BPUFVQKQogICAgICAg
ICAgICAgICAgICAgLCBwdWJsaWMgV2ViQ29yZTo6UGFnZVBvcHVwRHJpdmVyCiAjZW5kaWYKQEAg
LTQwMSw4ICs0MDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBudW1iZXJPZldoZWVsRXZlbnRIYW5k
bGVyc0NoYW5nZWQodW5zaWduZWQpOwogICAgIHZvaWQgaGFzVG91Y2hFdmVudEhhbmRsZXJzKGJv
b2wpOwogCi0gICAgLy8gUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQgaW1wbGVtZW50YXRpb24g
Zm9yIHdoZWVsIGZsaW5nLgotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYpOworICAgIC8vIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBsZW1lbnRhdGlv
biBmb3IgZmxpbmcuCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50Jik7
CiAKICAgICAvLyBIYW5kbGVzIGNvbnRleHQgbWVudSBldmVudHMgb3JpZ25hdGVkIHZpYSB0aGUg
dGhlIGtleWJvYXJkLiBUaGVzZQogICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQUFMgdmlydHVhbCBr
ZXkgYW5kIHRoZSBTaGlmdCtGMTAgY29tYmluZS4gQ29kZSBpcwpAQCAtODY3LDcgKzg2Niw3IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogICAgIE93blB0
cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsPiBtX25hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudDsKICNlbmRpZgotICAgIE93blB0cjxXZWJDb3JlOjpBY3RpdmVQbGF0Zm9ybUdlc3R1
cmVBbmltYXRpb24+IG1fZ2VzdHVyZUFuaW1hdGlvbjsKKyAgICBPd25QdHI8V2ViQWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbj4gbV9nZXN0dXJlQW5pbWF0aW9uOwogICAgIFdlYlBvaW50IG1fbGFzdFdo
ZWVsUG9zaXRpb247CiAgICAgV2ViUG9pbnQgbV9sYXN0V2hlZWxHbG9iYWxQb3NpdGlvbjsKICAg
ICBpbnQgbV9mbGluZ01vZGlmaWVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174520</attachid>
            <date>2012-11-15 14:41:03 -0800</date>
            <delta_ts>2012-11-15 15:27:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100884-20121115173900.patch</filename>
            <type>text/plain</type>
            <size>13573</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDAzMzg5Zjk5NWFkYjc4YWI3MTBiNGUxN2U1MzFhMGVkMWFjMGM5MTcuLjVlNjY5ZjhkMjczMDdh
Y2VkZTg2ODZlODlmMzM1Y2MzNGJjMGEyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTItMTEtMTUgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNlIGVtYmVkZGVyLXN1cHBvcnRlZCBn
ZXN0dXJlIGN1cnZlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIGVtYmVkZGVyLXByb3ZpZGVkIGdlc3R1cmUgYW5pbWF0aW9uIGN1cnZlcyB2aWEg
V2ViS2l0IGFwaSBpbnRlcmZhY2VzLgorICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVy
ZUZsaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6
OnNjcm9sbEJ5KToKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwu
aDoKKyAgICAgICAgKFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xs
QnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxGbGluZ0Fu
aW1hdGlvbik6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMTEt
MTIgIE1pbiBRaW4gIDxxaW5taW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCB3aW5kb3dS
ZWN0IGNhbGN1bGF0aW9uIGZvciB3ZWJwbHVnaW4gZHVlIHRvIHBhZ2Ugc2NhbGUgZmFjdG9ycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRv
cklucHV0SGFuZGxlckltcGwuY3BwCmluZGV4IDg3ZDdiMjUyMmU5YzY5NmIyYTViMWRiM2NiYTFi
NDg2ODRkYjJmNzUuLjY1MjgzYmM1MzBlZmNhZDU1NjU0MGI1MGExOGFiYTRlNmIzNmZkYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3Np
dG9ySW5wdXRIYW5kbGVySW1wbC5jcHAKQEAgLTI3LDEyICsyNywxMiBAQAogCiAjaW5jbHVkZSAi
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtR2Vz
dHVyZUN1cnZlRmFjdG9yeS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0
LmgiCiAjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogI2luY2x1ZGUgIldlYkNvbXBvc2l0b3JJbnB1
dEhhbmRsZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCisjaW5jbHVkZSA8
cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYklucHV0SGFuZGxlckNsaWVu
dC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0yMDYsOCArMjA2
LDggQEAgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OkV2ZW50RGlzcG9zaXRpb24gV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmgKICAgICBzd2l0Y2ggKHNjcm9sbFN0YXR1cykg
ewogICAgIGNhc2UgV2ViSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGF0dXNTdGFydGVkOiB7
CiAgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY3JvbGxFbmQoKTsKLSAgICAgICAgbV93
aGVlbEZsaW5nQ3VydmUgPSBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZUZhY3Rvcnk6OmdldCgpLT5jcmVh
dGVDdXJ2ZShnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmljZSwgRmxvYXRQ
b2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50
LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsKLSAgICAgICAgVFJBQ0VfRVZFTlRfQVNZTkNf
QkVHSU4xKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVy
ZUZsaW5nOjpzdGFydGVkIiwgdGhpcywgImN1cnZlIiwgbV93aGVlbEZsaW5nQ3VydmUtPmRlYnVn
TmFtZSgpKTsKKyAgICAgICAgbV93aGVlbEZsaW5nQ3VydmUgPSBXVEY6OmFkb3B0UHRyKFBsYXRm
b3JtOjpjdXJyZW50KCktPmNyZWF0ZUZsaW5nQW5pbWF0aW9uQ3VydmUoZ2VzdHVyZUV2ZW50LmRh
dGEuZmxpbmdTdGFydC5zb3VyY2VEZXZpY2UsIFdlYkZsb2F0UG9pbnQoZ2VzdHVyZUV2ZW50LmRh
dGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQudmVs
b2NpdHlZKSwgV2ViU2l6ZSgpKSk7CisgICAgICAgIFRSQUNFX0VWRU5UX0FTWU5DX0JFR0lOMCgi
Y2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmhhbmRsZUdlc3R1cmVGbGluZzo6
c3RhcnRlZCIsIHRoaXMpOwogICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmRlbHRhID0g
V2ViRmxvYXRQb2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2Vz
dHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpOwogICAgICAgICBtX3doZWVsRmxp
bmdQYXJhbWV0ZXJzLnBvaW50ID0gV2ViUG9pbnQoZ2VzdHVyZUV2ZW50LngsIGdlc3R1cmVFdmVu
dC55KTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5nbG9iYWxQb2ludCA9IFdlYlBv
aW50KGdlc3R1cmVFdmVudC5nbG9iYWxYLCBnZXN0dXJlRXZlbnQuZ2xvYmFsWSk7CkBAIC0yNzMs
MTYgKzI3MywxNiBAQCBib29sIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpjYW5jZWxD
dXJyZW50RmxpbmcoKQogICAgIHJldHVybiBoYWRGbGluZ0FuaW1hdGlvbjsKIH0KIAotdm9pZCBX
ZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkoY29uc3QgSW50UG9pbnQmIGlu
Y3JlbWVudCkKK3ZvaWQgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OnNjcm9sbEJ5KGNv
bnN0IFdlYlBvaW50JiBpbmNyZW1lbnQpCiB7Ci0gICAgaWYgKGluY3JlbWVudCA9PSBJbnRQb2lu
dDo6emVybygpKQorICAgIGlmIChpbmNyZW1lbnQgPT0gV2ViUG9pbnQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgVFJBQ0VfRVZFTlQyKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVy
SW1wbDo6c2Nyb2xsQnkiLCAieCIsIGluY3JlbWVudC54KCksICJ5IiwgaW5jcmVtZW50LnkoKSk7
CisgICAgVFJBQ0VfRVZFTlQyKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6
c2Nyb2xsQnkiLCAieCIsIGluY3JlbWVudC54LCAieSIsIGluY3JlbWVudC55KTsKICAgICBXZWJN
b3VzZVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWw7CiAgICAgc3ludGhldGljV2hlZWwudHlwZSA9
IFdlYklucHV0RXZlbnQ6Ok1vdXNlV2hlZWw7Ci0gICAgc3ludGhldGljV2hlZWwuZGVsdGFYID0g
aW5jcmVtZW50LngoKTsKLSAgICBzeW50aGV0aWNXaGVlbC5kZWx0YVkgPSBpbmNyZW1lbnQueSgp
OworICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWCA9IGluY3JlbWVudC54OworICAgIHN5bnRoZXRp
Y1doZWVsLmRlbHRhWSA9IGluY3JlbWVudC55OwogICAgIHN5bnRoZXRpY1doZWVsLmhhc1ByZWNp
c2VTY3JvbGxpbmdEZWx0YXMgPSB0cnVlOwogICAgIHN5bnRoZXRpY1doZWVsLnggPSBtX3doZWVs
RmxpbmdQYXJhbWV0ZXJzLnBvaW50Lng7CiAgICAgc3ludGhldGljV2hlZWwueSA9IG1fd2hlZWxG
bGluZ1BhcmFtZXRlcnMucG9pbnQueTsKQEAgLTI5Myw4ICsyOTMsOCBAQCB2b2lkIFdlYkNvbXBv
c2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpzY3JvbGxCeShjb25zdCBJbnRQb2ludCYgaW5jcmVtZW50
KQogICAgIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpFdmVudERpc3Bvc2l0aW9uIGRp
c3Bvc2l0aW9uID0gaGFuZGxlSW5wdXRFdmVudEludGVybmFsKHN5bnRoZXRpY1doZWVsKTsKICAg
ICBzd2l0Y2ggKGRpc3Bvc2l0aW9uKSB7CiAgICAgY2FzZSBEaWRIYW5kbGU6Ci0gICAgICAgIG1f
d2hlZWxGbGluZ1BhcmFtZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbC53aWR0aCArPSBpbmNyZW1lbnQu
eCgpOwotICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmN1bXVsYXRpdmVTY3JvbGwuaGVp
Z2h0ICs9IGluY3JlbWVudC55KCk7CisgICAgICAgIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnMuY3Vt
dWxhdGl2ZVNjcm9sbC53aWR0aCArPSBpbmNyZW1lbnQueDsKKyAgICAgICAgbV93aGVlbEZsaW5n
UGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsLmhlaWdodCArPSBpbmNyZW1lbnQueTsKICAgICBj
YXNlIERyb3BFdmVudDoKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBEaWROb3RIYW5kbGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRI
YW5kbGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklu
cHV0SGFuZGxlckltcGwuaAppbmRleCBmYTgxZGU5NDUyN2NhZDllMmNhYWNiZDVhOWQ0YTg3M2Iz
OTZjZWYxLi5lZmU3ZjUzYjQwNTcxZjE5NTE5YjMzYmIzYWUzOTFjOGUxN2QxYjQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVy
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1
dEhhbmRsZXJJbXBsLmgKQEAgLTI2LDEwICsyNiwxMSBAQAogI2lmbmRlZiBXZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbF9oCiAjZGVmaW5lIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
X2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0LmgiCiAjaW5jbHVkZSAi
V2ViQWN0aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJXZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJHZXN0dXJlQ3VydmUuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViR2VzdHVyZUN1cnZl
VGFyZ2V0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYklucHV0SGFuZGxlci5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC00MSwxNCAr
NDIsMTMgQEAgY2xhc3MgTXV0ZXg7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFBv
aW50OwotY2xhc3MgUGxhdGZvcm1HZXN0dXJlQ3VydmU7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyQ2xpZW50OwogCi1jbGFzcyBXZWJD
b21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCA6IHB1YmxpYyBXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVyLCBwdWJsaWMgV2ViSW5wdXRIYW5kbGVyLCBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1HZXN0
dXJlQ3VydmVUYXJnZXQgeworY2xhc3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBw
dWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciwgcHVibGljIFdlYklucHV0SGFuZGxlciwg
cHVibGljIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJD
b21wb3NpdG9ySW5wdXRIYW5kbGVyKiBmcm9tSWRlbnRpZmllcihpbnQgaWRlbnRpZmllcik7CkBA
IC02NCw4ICs2NCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYmluZFRvQ2xpZW50KFdl
YklucHV0SGFuZGxlckNsaWVudCopOwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlKGRvdWJsZSBt
b25vdG9uaWNUaW1lKTsKIAotICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFy
Z2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYpOworICAgIC8vIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBsZW1lbnRh
dGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmKTsKIAogICAg
IGludCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAKQEAgLTgx
LDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgd2UgYWN0dWFsbHkg
aGFkIGFuIGFjdGl2ZSBmbGluZyB0byBjYW5jZWwuCiAgICAgYm9vbCBjYW5jZWxDdXJyZW50Rmxp
bmcoKTsKIAotICAgIE93blB0cjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gbV93aGVl
bEZsaW5nQ3VydmU7CisgICAgT3duUHRyPFdlYkdlc3R1cmVDdXJ2ZT4gbV93aGVlbEZsaW5nQ3Vy
dmU7CiAgICAgLy8gUGFyYW1ldGVycyBmb3IgdGhlIGFjdGl2ZSBmbGluZyBhbmltYXRpb24sIHN0
b3JlZCBpbiBjYXNlIHdlIG5lZWQgdG8gdHJhbnNmZXIgaXQgb3V0IGxhdGVyLgogICAgIFdlYkFj
dGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnM7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBmNmY5ZmM2ZmE3YzEy
NDgwYWQ0MDZjZTVhODk5NWVhNjNkNGMzYzkwLi5mY2I3ZTQwZjg5MTdkYzViODIzNzZiZTdkYWQ3
NmZkMWRjOTE2NmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmlt
YXRpb24uaCIKICNpbmNsdWRlICJBdXRvZmlsbFBvcHVwTWVudUNsaWVudC5oIgogI2luY2x1ZGUg
IkJhY2tGb3J3YXJkTGlzdENocm9taXVtLmgiCiAjaW5jbHVkZSAiQmF0dGVyeUNsaWVudEltcGwu
aCIKQEAgLTE0Niw2ICsxNDUsNyBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNs
dWRlICJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAicGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVp
bGRlci5oIgorI2luY2x1ZGUgInNyYy9XZWJBY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmgiCiAjaW5j
bHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNvbXBvc2l0b3JP
dXRwdXRTdXJmYWNlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNvbXBvc2l0b3JTdXBwb3J0Lmg+
CkBAIC0xNjYsNyArMTY2LDYgQEAKICNpbmNsdWRlIDx3dGYvVWludDhDbGFtcGVkQXJyYXkuaD4K
IAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKLSNpbmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVD
dXJ2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVFdmVudC5oIgogI2luY2x1
ZGUgIlRvdWNoRGlzYW1iaWd1YXRpb24uaCIKICNlbmRpZgpAQCAtNjQxLDE1ICs2NDAsMTUgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlTW91c2VVcChGcmFtZSYgbWFpbkZyYW1lLCBjb25zdCBX
ZWJNb3VzZUV2ZW50JiBldmVudCkKICNlbmRpZgogfQogCi12b2lkIFdlYlZpZXdJbXBsOjpzY3Jv
bGxCeShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVsdGEpCit2b2lkIFdlYlZpZXdJbXBsOjpz
Y3JvbGxCeShjb25zdCBXZWJQb2ludCYgZGVsdGEpCiB7CiAgICAgV2ViTW91c2VXaGVlbEV2ZW50
IHN5bnRoZXRpY1doZWVsOwogICAgIGNvbnN0IGZsb2F0IHRpY2tEaXZpc29yID0gV2ViQ29yZTo6
V2hlZWxFdmVudDo6dGlja011bHRpcGxpZXI7CiAKLSAgICBzeW50aGV0aWNXaGVlbC5kZWx0YVgg
PSBkZWx0YS54KCk7Ci0gICAgc3ludGhldGljV2hlZWwuZGVsdGFZID0gZGVsdGEueSgpOwotICAg
IHN5bnRoZXRpY1doZWVsLndoZWVsVGlja3NYID0gZGVsdGEueCgpIC8gdGlja0Rpdmlzb3I7Ci0g
ICAgc3ludGhldGljV2hlZWwud2hlZWxUaWNrc1kgPSBkZWx0YS55KCkgLyB0aWNrRGl2aXNvcjsK
KyAgICBzeW50aGV0aWNXaGVlbC5kZWx0YVggPSBkZWx0YS54OworICAgIHN5bnRoZXRpY1doZWVs
LmRlbHRhWSA9IGRlbHRhLnk7CisgICAgc3ludGhldGljV2hlZWwud2hlZWxUaWNrc1ggPSBkZWx0
YS54IC8gdGlja0Rpdmlzb3I7CisgICAgc3ludGhldGljV2hlZWwud2hlZWxUaWNrc1kgPSBkZWx0
YS55IC8gdGlja0Rpdmlzb3I7CiAgICAgc3ludGhldGljV2hlZWwuaGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhcyA9IHRydWU7CiAgICAgc3ludGhldGljV2hlZWwueCA9IG1fbGFzdFdoZWVsUG9zaXRp
b24ueDsKICAgICBzeW50aGV0aWNXaGVlbC55ID0gbV9sYXN0V2hlZWxQb3NpdGlvbi55OwpAQCAt
Njk2LDggKzY5NSw4IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25z
dCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX2xhc3RXaGVlbEdsb2JhbFBvc2l0
aW9uID0gV2ViUG9pbnQoZXZlbnQuZ2xvYmFsWCwgZXZlbnQuZ2xvYmFsWSk7CiAgICAgICAgIG1f
ZmxpbmdNb2RpZmllciA9IGV2ZW50Lm1vZGlmaWVyczsKICAgICAgICAgLy8gRklYTUU6IE1ha2Ug
dGhlIGN1cnZlIHBhcmFtZXRyaXphYmxlIGZyb20gdGhlIGJyb3dzZXIuCi0gICAgICAgIE93blB0
cjxQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gZmxpbmdDdXJ2ZSA9IFBsYXRmb3JtR2VzdHVyZUN1cnZl
RmFjdG9yeTo6Z2V0KCktPmNyZWF0ZUN1cnZlKGV2ZW50LmRhdGEuZmxpbmdTdGFydC5zb3VyY2VE
ZXZpY2UsIEZsb2F0UG9pbnQoZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZXZlbnQu
ZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSkpOwotICAgICAgICBtX2dlc3R1cmVBbmltYXRpb24g
PSBBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZShmbGluZ0N1cnZlLnJlbGVh
c2UoKSwgdGhpcyk7CisgICAgICAgIE93blB0cjxXZWJHZXN0dXJlQ3VydmU+IGZsaW5nQ3VydmUg
PSBhZG9wdFB0cihQbGF0Zm9ybTo6Y3VycmVudCgpLT5jcmVhdGVGbGluZ0FuaW1hdGlvbkN1cnZl
KGV2ZW50LmRhdGEuZmxpbmdTdGFydC5zb3VyY2VEZXZpY2UsIFdlYkZsb2F0UG9pbnQoZXZlbnQu
ZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5
WSksIFdlYlNpemUoKSkpOworICAgICAgICBtX2dlc3R1cmVBbmltYXRpb24gPSBXZWJBY3RpdmVH
ZXN0dXJlQW5pbWF0aW9uOjpjcmVhdGVBdEFuaW1hdGlvblN0YXJ0KGZsaW5nQ3VydmUucmVsZWFz
ZSgpLCB0aGlzKTsKICAgICAgICAgc2NoZWR1bGVBbmltYXRpb24oKTsKICAgICAgICAgZXZlbnRT
d2FsbG93ZWQgPSB0cnVlOwogICAgICAgICBicmVhazsKQEAgLTc5OSw4ICs3OTgsOCBAQCB2b2lk
IFdlYlZpZXdJbXBsOjp0cmFuc2ZlckFjdGl2ZVdoZWVsRmxpbmdBbmltYXRpb24oY29uc3QgV2Vi
QWN0aXZlV2hlZWxGbGluZ1BhcgogICAgIG1fbGFzdFdoZWVsUG9zaXRpb24gPSBwYXJhbWV0ZXJz
LnBvaW50OwogICAgIG1fbGFzdFdoZWVsR2xvYmFsUG9zaXRpb24gPSBwYXJhbWV0ZXJzLmdsb2Jh
bFBvaW50OwogICAgIG1fZmxpbmdNb2RpZmllciA9IHBhcmFtZXRlcnMubW9kaWZpZXJzOwotICAg
IE93blB0cjxQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gY3VydmUgPSBQbGF0Zm9ybUdlc3R1cmVDdXJ2
ZUZhY3Rvcnk6OmdldCgpLT5jcmVhdGVDdXJ2ZShwYXJhbWV0ZXJzLnNvdXJjZURldmljZSwgcGFy
YW1ldGVycy5kZWx0YSwgSW50UG9pbnQocGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsKSk7Ci0g
ICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gQWN0aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9uOjpj
cmVhdGUoY3VydmUucmVsZWFzZSgpLCB0aGlzLCBwYXJhbWV0ZXJzLnN0YXJ0VGltZSk7CisgICAg
T3duUHRyPFdlYkdlc3R1cmVDdXJ2ZT4gY3VydmUgPSBhZG9wdFB0cihQbGF0Zm9ybTo6Y3VycmVu
dCgpLT5jcmVhdGVGbGluZ0FuaW1hdGlvbkN1cnZlKHBhcmFtZXRlcnMuc291cmNlRGV2aWNlLCBX
ZWJGbG9hdFBvaW50KHBhcmFtZXRlcnMuZGVsdGEpLCBwYXJhbWV0ZXJzLmN1bXVsYXRpdmVTY3Jv
bGwpKTsKKyAgICBtX2dlc3R1cmVBbmltYXRpb24gPSBXZWJBY3RpdmVHZXN0dXJlQW5pbWF0aW9u
OjpjcmVhdGVXaXRoVGltZU9mZnNldChjdXJ2ZS5yZWxlYXNlKCksIHRoaXMsIHBhcmFtZXRlcnMu
c3RhcnRUaW1lKTsKICAgICBzY2hlZHVsZUFuaW1hdGlvbigpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCAwMmExZTUzNzA0MGI2ODAwNzY4ZmMxYmU5
MWMzZmFiNmYwNmZlYzUyLi4wNTVlY2FmMjI4NWIyM2NhMDhjZjU3YjU1YzdlNjQ4OTU5Njk0YzU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTQ0LDEzICs0
NCwxMyBAQAogI2luY2x1ZGUgIlBhZ2VPdmVybGF5TGlzdC5oIgogI2luY2x1ZGUgIlBhZ2VQb3B1
cERyaXZlci5oIgogI2luY2x1ZGUgIlBhZ2VXaWRnZXREZWxlZ2F0ZS5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0LmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2xpZW50SW1w
bC5oIgogI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKICNpbmNsdWRlICJXZWJOYXZpZ2F0aW9u
UG9saWN5LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgIldlYlZpZXdCZW5jaG1h
cmtTdXBwb3J0SW1wbC5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdFF1YWQuaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViR2VzdHVyZUN1cnZlVGFyZ2V0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YkxheWVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkxheWVyVHJlZVZpZXdDbGllbnQuaD4KICNp
bmNsdWRlIDxwdWJsaWMvV2ViUG9pbnQuaD4KQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBBY3RpdmVQbGF0
Zm9ybUdlc3R1cmVBbmltYXRpb247CiBjbGFzcyBDaHJvbWl1bURhdGFPYmplY3Q7CiBjbGFzcyBD
b2xvcjsKIGNsYXNzIERvY3VtZW50TG9hZGVyOwpAQCAtNzQsNyArNzMsNiBAQCBjbGFzcyBQYWdl
OwogY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgUGFnZVBvcHVwOwogY2xhc3MgUGFnZVBvcHVwQ2xp
ZW50OwotY2xhc3MgUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQ7CiBjbGFzcyBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQ7CiBjbGFzcyBQb3B1cENvbnRhaW5lcjsKIGNsYXNzIFBvcHVwTWVudUNsaWVu
dDsKQEAgLTEwMSw2ICs5OSw3IEBAIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHk7
CiBjbGFzcyBVc2VyTWVkaWFDbGllbnRJbXBsOwogY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGll
bnRJbXBsOwogY2xhc3MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDsKK2NsYXNzIFdlYkFjdGl2ZUdl
c3R1cmVBbmltYXRpb247CiBjbGFzcyBXZWJDb21wb3NpdG9ySW1wbDsKIGNsYXNzIFdlYkRldlRv
b2xzQWdlbnRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0FnZW50UHJpdmF0ZTsKQEAgLTEyMSw3
ICsxMjAsNyBAQCBjbGFzcyBXZWJWaWV3QmVuY2htYXJrU3VwcG9ydDsKIGNsYXNzIFdlYlZpZXdJ
bXBsIDogcHVibGljIFdlYlZpZXcKICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYkxheWVy
VHJlZVZpZXdDbGllbnQKICAgICAgICAgICAgICAgICAgICwgcHVibGljIFJlZkNvdW50ZWQ8V2Vi
Vmlld0ltcGw+Ci0gICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybUdl
c3R1cmVDdXJ2ZVRhcmdldAorICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViR2VzdHVyZUN1
cnZlVGFyZ2V0CiAjaWYgRU5BQkxFKFBBR0VfUE9QVVApCiAgICAgICAgICAgICAgICAgICAsIHB1
YmxpYyBXZWJDb3JlOjpQYWdlUG9wdXBEcml2ZXIKICNlbmRpZgpAQCAtNDA0LDggKzQwMyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCk7CiAgICAgdm9pZCBoYXNUb3VjaEV2ZW50SGFuZGxlcnMoYm9vbCk7CiAKLSAgICAvLyBQ
bGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBsZW1lbnRhdGlvbiBmb3Igd2hlZWwgZmxpbmcu
Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7Cisg
ICAgLy8gV2ViR2VzdHVyZUN1cnZlVGFyZ2V0IGltcGxlbWVudGF0aW9uIGZvciBmbGluZy4KKyAg
ICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmKTsKIAogICAgIC8vIEhhbmRs
ZXMgY29udGV4dCBtZW51IGV2ZW50cyBvcmlnbmF0ZWQgdmlhIHRoZSB0aGUga2V5Ym9hcmQuIFRo
ZXNlCiAgICAgLy8gaW5jbHVkZSB0aGUgVktfQVBQUyB2aXJ0dWFsIGtleSBhbmQgdGhlIFNoaWZ0
K0YxMCBjb21iaW5lLiBDb2RlIGlzCkBAIC04NzAsNyArODY5LDcgQEAgcHJpdmF0ZToKICNpZiBF
TkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCiAgICAgT3duUHRyPE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEltcGw+IG1fbmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OwogI2VuZGlm
Ci0gICAgT3duUHRyPFdlYkNvcmU6OkFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbj4gbV9n
ZXN0dXJlQW5pbWF0aW9uOworICAgIE93blB0cjxXZWJBY3RpdmVHZXN0dXJlQW5pbWF0aW9uPiBt
X2dlc3R1cmVBbmltYXRpb247CiAgICAgV2ViUG9pbnQgbV9sYXN0V2hlZWxQb3NpdGlvbjsKICAg
ICBXZWJQb2ludCBtX2xhc3RXaGVlbEdsb2JhbFBvc2l0aW9uOwogICAgIGludCBtX2ZsaW5nTW9k
aWZpZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174533</attachid>
            <date>2012-11-15 15:27:05 -0800</date>
            <delta_ts>2012-11-20 14:33:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100884-20121115182501.patch</filename>
            <type>text/plain</type>
            <size>13568</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDAzMzg5Zjk5NWFkYjc4YWI3MTBiNGUxN2U1MzFhMGVkMWFjMGM5MTcuLjVlNjY5ZjhkMjczMDdh
Y2VkZTg2ODZlODlmMzM1Y2MzNGJjMGEyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTItMTEtMTUgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNlIGVtYmVkZGVyLXN1cHBvcnRlZCBn
ZXN0dXJlIGN1cnZlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIGVtYmVkZGVyLXByb3ZpZGVkIGdlc3R1cmUgYW5pbWF0aW9uIGN1cnZlcyB2aWEg
V2ViS2l0IGFwaSBpbnRlcmZhY2VzLgorICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVy
ZUZsaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6
OnNjcm9sbEJ5KToKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwu
aDoKKyAgICAgICAgKFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xs
QnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxGbGluZ0Fu
aW1hdGlvbik6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMTEt
MTIgIE1pbiBRaW4gIDxxaW5taW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCB3aW5kb3dS
ZWN0IGNhbGN1bGF0aW9uIGZvciB3ZWJwbHVnaW4gZHVlIHRvIHBhZ2Ugc2NhbGUgZmFjdG9ycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRv
cklucHV0SGFuZGxlckltcGwuY3BwCmluZGV4IDg3ZDdiMjUyMmU5YzY5NmIyYTViMWRiM2NiYTFi
NDg2ODRkYjJmNzUuLjAyNTUzMDcxNzRlMGZjMTM1Y2UxYjQxODE5ZDY3ZTMzZmJhZTBmMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3Np
dG9ySW5wdXRIYW5kbGVySW1wbC5jcHAKQEAgLTI3LDEyICsyNywxMiBAQAogCiAjaW5jbHVkZSAi
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtR2Vz
dHVyZUN1cnZlRmFjdG9yeS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0
LmgiCiAjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogI2luY2x1ZGUgIldlYkNvbXBvc2l0b3JJbnB1
dEhhbmRsZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCisjaW5jbHVkZSA8
cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYklucHV0SGFuZGxlckNsaWVu
dC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0yMDYsOCArMjA2
LDggQEAgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OkV2ZW50RGlzcG9zaXRpb24gV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmgKICAgICBzd2l0Y2ggKHNjcm9sbFN0YXR1cykg
ewogICAgIGNhc2UgV2ViSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGF0dXNTdGFydGVkOiB7
CiAgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY3JvbGxFbmQoKTsKLSAgICAgICAgbV93
aGVlbEZsaW5nQ3VydmUgPSBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZUZhY3Rvcnk6OmdldCgpLT5jcmVh
dGVDdXJ2ZShnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmljZSwgRmxvYXRQ
b2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50
LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsKLSAgICAgICAgVFJBQ0VfRVZFTlRfQVNZTkNf
QkVHSU4xKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVy
ZUZsaW5nOjpzdGFydGVkIiwgdGhpcywgImN1cnZlIiwgbV93aGVlbEZsaW5nQ3VydmUtPmRlYnVn
TmFtZSgpKTsKKyAgICAgICAgbV93aGVlbEZsaW5nQ3VydmUgPSBhZG9wdFB0cihQbGF0Zm9ybTo6
Y3VycmVudCgpLT5jcmVhdGVGbGluZ0FuaW1hdGlvbkN1cnZlKGdlc3R1cmVFdmVudC5kYXRhLmZs
aW5nU3RhcnQuc291cmNlRGV2aWNlLCBXZWJGbG9hdFBvaW50KGdlc3R1cmVFdmVudC5kYXRhLmZs
aW5nU3RhcnQudmVsb2NpdHlYLCBnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5
WSksIFdlYlNpemUoKSkpOworICAgICAgICBUUkFDRV9FVkVOVF9BU1lOQ19CRUdJTjAoImNjIiwg
IldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpoYW5kbGVHZXN0dXJlRmxpbmc6OnN0YXJ0
ZWQiLCB0aGlzKTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5kZWx0YSA9IFdlYkZs
b2F0UG9pbnQoZ2VzdHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGdlc3R1cmVF
dmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZKTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFy
YW1ldGVycy5wb2ludCA9IFdlYlBvaW50KGdlc3R1cmVFdmVudC54LCBnZXN0dXJlRXZlbnQueSk7
CiAgICAgICAgIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnMuZ2xvYmFsUG9pbnQgPSBXZWJQb2ludChn
ZXN0dXJlRXZlbnQuZ2xvYmFsWCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFkpOwpAQCAtMjczLDE2ICsy
NzMsMTYgQEAgYm9vbCBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6Y2FuY2VsQ3VycmVu
dEZsaW5nKCkKICAgICByZXR1cm4gaGFkRmxpbmdBbmltYXRpb247CiB9CiAKLXZvaWQgV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckltcGw6OnNjcm9sbEJ5KGNvbnN0IEludFBvaW50JiBpbmNyZW1l
bnQpCit2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpzY3JvbGxCeShjb25zdCBX
ZWJQb2ludCYgaW5jcmVtZW50KQogewotICAgIGlmIChpbmNyZW1lbnQgPT0gSW50UG9pbnQ6Onpl
cm8oKSkKKyAgICBpZiAoaW5jcmVtZW50ID09IFdlYlBvaW50KCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIFRSQUNFX0VWRU5UMigiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6
OnNjcm9sbEJ5IiwgIngiLCBpbmNyZW1lbnQueCgpLCAieSIsIGluY3JlbWVudC55KCkpOworICAg
IFRSQUNFX0VWRU5UMigiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OnNjcm9s
bEJ5IiwgIngiLCBpbmNyZW1lbnQueCwgInkiLCBpbmNyZW1lbnQueSk7CiAgICAgV2ViTW91c2VX
aGVlbEV2ZW50IHN5bnRoZXRpY1doZWVsOwogICAgIHN5bnRoZXRpY1doZWVsLnR5cGUgPSBXZWJJ
bnB1dEV2ZW50OjpNb3VzZVdoZWVsOwotICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWCA9IGluY3Jl
bWVudC54KCk7Ci0gICAgc3ludGhldGljV2hlZWwuZGVsdGFZID0gaW5jcmVtZW50LnkoKTsKKyAg
ICBzeW50aGV0aWNXaGVlbC5kZWx0YVggPSBpbmNyZW1lbnQueDsKKyAgICBzeW50aGV0aWNXaGVl
bC5kZWx0YVkgPSBpbmNyZW1lbnQueTsKICAgICBzeW50aGV0aWNXaGVlbC5oYXNQcmVjaXNlU2Ny
b2xsaW5nRGVsdGFzID0gdHJ1ZTsKICAgICBzeW50aGV0aWNXaGVlbC54ID0gbV93aGVlbEZsaW5n
UGFyYW1ldGVycy5wb2ludC54OwogICAgIHN5bnRoZXRpY1doZWVsLnkgPSBtX3doZWVsRmxpbmdQ
YXJhbWV0ZXJzLnBvaW50Lnk7CkBAIC0yOTMsOCArMjkzLDggQEAgdm9pZCBXZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkoY29uc3QgSW50UG9pbnQmIGluY3JlbWVudCkKICAg
ICBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6RXZlbnREaXNwb3NpdGlvbiBkaXNwb3Np
dGlvbiA9IGhhbmRsZUlucHV0RXZlbnRJbnRlcm5hbChzeW50aGV0aWNXaGVlbCk7CiAgICAgc3dp
dGNoIChkaXNwb3NpdGlvbikgewogICAgIGNhc2UgRGlkSGFuZGxlOgotICAgICAgICBtX3doZWVs
RmxpbmdQYXJhbWV0ZXJzLmN1bXVsYXRpdmVTY3JvbGwud2lkdGggKz0gaW5jcmVtZW50LngoKTsK
LSAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsLmhlaWdodCAr
PSBpbmNyZW1lbnQueSgpOworICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmN1bXVsYXRp
dmVTY3JvbGwud2lkdGggKz0gaW5jcmVtZW50Lng7CisgICAgICAgIG1fd2hlZWxGbGluZ1BhcmFt
ZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbC5oZWlnaHQgKz0gaW5jcmVtZW50Lnk7CiAgICAgY2FzZSBE
cm9wRXZlbnQ6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRGlkTm90SGFuZGxlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxl
ckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsLmgKaW5kZXggZmE4MWRlOTQ1MjdjYWQ5ZTJjYWFjYmQ1YTlkNGE4NzNiMzk2Y2Vm
MS4uZWZlN2Y1M2I0MDU3MWYxOTUxOWIzM2JiM2FlMzkxYzhlMTdkMWI0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbC5oCkBAIC0yNiwxMCArMjYsMTEgQEAKICNpZm5kZWYgV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGxfaAogI2RlZmluZSBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbF9oCiAK
LSNpbmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldC5oIgogI2luY2x1ZGUgIldlYkFj
dGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlci5oIgogI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMv
V2ViR2VzdHVyZUN1cnZlLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkdlc3R1cmVDdXJ2ZVRhcmdl
dC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJJbnB1dEhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDEsMTQgKzQyLDEz
IEBAIGNsYXNzIE11dGV4OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRQb2ludDsK
LWNsYXNzIFBsYXRmb3JtR2VzdHVyZUN1cnZlOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsKIAotY2xhc3MgV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciwg
cHVibGljIFdlYklucHV0SGFuZGxlciwgcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUN1
cnZlVGFyZ2V0IHsKK2NsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsIDogcHVibGlj
IFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIsIHB1YmxpYyBXZWJJbnB1dEhhbmRsZXIsIHB1Ymxp
YyBXZWJHZXN0dXJlQ3VydmVUYXJnZXQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
bXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlciogZnJvbUlkZW50aWZpZXIoaW50IGlkZW50aWZpZXIpOwpAQCAtNjQs
OCArNjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJpbmRUb0NsaWVudChXZWJJbnB1
dEhhbmRsZXJDbGllbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUgbW9ub3Rv
bmljVGltZSk7CiAKLSAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldCBp
bXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmKTsKKyAgICAvLyBXZWJHZXN0dXJlQ3VydmVUYXJnZXQgaW1wbGVtZW50YXRpb24u
CisgICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50Jik7CiAKICAgICBpbnQg
aWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCkBAIC04MSw3ICs4
MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHdlIGFjdHVhbGx5IGhhZCBh
biBhY3RpdmUgZmxpbmcgdG8gY2FuY2VsLgogICAgIGJvb2wgY2FuY2VsQ3VycmVudEZsaW5nKCk7
CiAKLSAgICBPd25QdHI8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlQ3VydmU+IG1fd2hlZWxGbGlu
Z0N1cnZlOworICAgIE93blB0cjxXZWJHZXN0dXJlQ3VydmU+IG1fd2hlZWxGbGluZ0N1cnZlOwog
ICAgIC8vIFBhcmFtZXRlcnMgZm9yIHRoZSBhY3RpdmUgZmxpbmcgYW5pbWF0aW9uLCBzdG9yZWQg
aW4gY2FzZSB3ZSBuZWVkIHRvIHRyYW5zZmVyIGl0IG91dCBsYXRlci4KICAgICBXZWJBY3RpdmVX
aGVlbEZsaW5nUGFyYW1ldGVycyBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZjZmOWZjNmZhN2MxMjQ4MGFk
NDA2Y2U1YTg5OTVlYTYzZDRjM2M5MC4uZmNiN2U0MGY4OTE3ZGM1YjgyMzc2YmU3ZGFkNzZmZDFk
YzkxNjZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApA
QCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgiCiAKICNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCi0jaW5jbHVkZSAiQWN0aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9u
LmgiCiAjaW5jbHVkZSAiQXV0b2ZpbGxQb3B1cE1lbnVDbGllbnQuaCIKICNpbmNsdWRlICJCYWNr
Rm9yd2FyZExpc3RDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkJhdHRlcnlDbGllbnRJbXBsLmgiCkBA
IC0xNDYsNiArMTQ1LDcgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAi
V2hlZWxFdmVudC5oIgogI2luY2x1ZGUgInBhaW50aW5nL0dyYXBoaWNzQ29udGV4dEJ1aWxkZXIu
aCIKKyNpbmNsdWRlICJzcmMvV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oIgogI2luY2x1ZGUg
PHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yT3V0cHV0
U3VyZmFjZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgpAQCAt
MTY2LDcgKzE2Niw2IEBACiAjaW5jbHVkZSA8d3RmL1VpbnQ4Q2xhbXBlZEFycmF5Lmg+CiAKICNp
ZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCi0jaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVG
YWN0b3J5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCIKICNpbmNsdWRlICJU
b3VjaERpc2FtYmlndWF0aW9uLmgiCiAjZW5kaWYKQEAgLTY0MSwxNSArNjQwLDE1IEBAIHZvaWQg
V2ViVmlld0ltcGw6OmhhbmRsZU1vdXNlVXAoRnJhbWUmIG1haW5GcmFtZSwgY29uc3QgV2ViTW91
c2VFdmVudCYgZXZlbnQpCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsQnko
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlbHRhKQordm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xs
QnkoY29uc3QgV2ViUG9pbnQmIGRlbHRhKQogewogICAgIFdlYk1vdXNlV2hlZWxFdmVudCBzeW50
aGV0aWNXaGVlbDsKICAgICBjb25zdCBmbG9hdCB0aWNrRGl2aXNvciA9IFdlYkNvcmU6OldoZWVs
RXZlbnQ6OnRpY2tNdWx0aXBsaWVyOwogCi0gICAgc3ludGhldGljV2hlZWwuZGVsdGFYID0gZGVs
dGEueCgpOwotICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWSA9IGRlbHRhLnkoKTsKLSAgICBzeW50
aGV0aWNXaGVlbC53aGVlbFRpY2tzWCA9IGRlbHRhLngoKSAvIHRpY2tEaXZpc29yOwotICAgIHN5
bnRoZXRpY1doZWVsLndoZWVsVGlja3NZID0gZGVsdGEueSgpIC8gdGlja0Rpdmlzb3I7CisgICAg
c3ludGhldGljV2hlZWwuZGVsdGFYID0gZGVsdGEueDsKKyAgICBzeW50aGV0aWNXaGVlbC5kZWx0
YVkgPSBkZWx0YS55OworICAgIHN5bnRoZXRpY1doZWVsLndoZWVsVGlja3NYID0gZGVsdGEueCAv
IHRpY2tEaXZpc29yOworICAgIHN5bnRoZXRpY1doZWVsLndoZWVsVGlja3NZID0gZGVsdGEueSAv
IHRpY2tEaXZpc29yOwogICAgIHN5bnRoZXRpY1doZWVsLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0
YXMgPSB0cnVlOwogICAgIHN5bnRoZXRpY1doZWVsLnggPSBtX2xhc3RXaGVlbFBvc2l0aW9uLng7
CiAgICAgc3ludGhldGljV2hlZWwueSA9IG1fbGFzdFdoZWVsUG9zaXRpb24ueTsKQEAgLTY5Niw4
ICs2OTUsOCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2Vi
R2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgbV9sYXN0V2hlZWxHbG9iYWxQb3NpdGlvbiA9
IFdlYlBvaW50KGV2ZW50Lmdsb2JhbFgsIGV2ZW50Lmdsb2JhbFkpOwogICAgICAgICBtX2ZsaW5n
TW9kaWZpZXIgPSBldmVudC5tb2RpZmllcnM7CiAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHRoZSBj
dXJ2ZSBwYXJhbWV0cml6YWJsZSBmcm9tIHRoZSBicm93c2VyLgotICAgICAgICBPd25QdHI8UGxh
dGZvcm1HZXN0dXJlQ3VydmU+IGZsaW5nQ3VydmUgPSBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZUZhY3Rv
cnk6OmdldCgpLT5jcmVhdGVDdXJ2ZShldmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNl
LCBGbG9hdFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEu
ZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsKLSAgICAgICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gQWN0
aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9uOjpjcmVhdGUoZmxpbmdDdXJ2ZS5yZWxlYXNlKCks
IHRoaXMpOworICAgICAgICBPd25QdHI8V2ViR2VzdHVyZUN1cnZlPiBmbGluZ0N1cnZlID0gYWRv
cHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxpbmdBbmltYXRpb25DdXJ2ZShldmVu
dC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNlLCBXZWJGbG9hdFBvaW50KGV2ZW50LmRhdGEu
ZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpLCBX
ZWJTaXplKCkpKTsKKyAgICAgICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gV2ViQWN0aXZlR2VzdHVy
ZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChmbGluZ0N1cnZlLnJlbGVhc2UoKSwg
dGhpcyk7CiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiAgICAgICAgIGV2ZW50U3dhbGxv
d2VkID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CkBAIC03OTksOCArNzk4LDggQEAgdm9pZCBXZWJW
aWV3SW1wbDo6dHJhbnNmZXJBY3RpdmVXaGVlbEZsaW5nQW5pbWF0aW9uKGNvbnN0IFdlYkFjdGl2
ZVdoZWVsRmxpbmdQYXIKICAgICBtX2xhc3RXaGVlbFBvc2l0aW9uID0gcGFyYW1ldGVycy5wb2lu
dDsKICAgICBtX2xhc3RXaGVlbEdsb2JhbFBvc2l0aW9uID0gcGFyYW1ldGVycy5nbG9iYWxQb2lu
dDsKICAgICBtX2ZsaW5nTW9kaWZpZXIgPSBwYXJhbWV0ZXJzLm1vZGlmaWVyczsKLSAgICBPd25Q
dHI8UGxhdGZvcm1HZXN0dXJlQ3VydmU+IGN1cnZlID0gUGxhdGZvcm1HZXN0dXJlQ3VydmVGYWN0
b3J5OjpnZXQoKS0+Y3JlYXRlQ3VydmUocGFyYW1ldGVycy5zb3VyY2VEZXZpY2UsIHBhcmFtZXRl
cnMuZGVsdGEsIEludFBvaW50KHBhcmFtZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbCkpOwotICAgIG1f
Z2VzdHVyZUFuaW1hdGlvbiA9IEFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRl
KGN1cnZlLnJlbGVhc2UoKSwgdGhpcywgcGFyYW1ldGVycy5zdGFydFRpbWUpOworICAgIE93blB0
cjxXZWJHZXN0dXJlQ3VydmU+IGN1cnZlID0gYWRvcHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+
Y3JlYXRlRmxpbmdBbmltYXRpb25DdXJ2ZShwYXJhbWV0ZXJzLnNvdXJjZURldmljZSwgV2ViRmxv
YXRQb2ludChwYXJhbWV0ZXJzLmRlbHRhKSwgcGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsKSk7
CisgICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjo6Y3Jl
YXRlV2l0aFRpbWVPZmZzZXQoY3VydmUucmVsZWFzZSgpLCB0aGlzLCBwYXJhbWV0ZXJzLnN0YXJ0
VGltZSk7CiAgICAgc2NoZWR1bGVBbmltYXRpb24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMDJhMWU1MzcwNDBiNjgwMDc2OGZjMWJlOTFjM2Zh
YjZmMDZmZWM1Mi4uMDU1ZWNhZjIyODViMjNjYTA4Y2Y1N2I1NWM3ZTY0ODk1OTY5NGM1OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC00NCwxMyArNDQsMTMg
QEAKICNpbmNsdWRlICJQYWdlT3ZlcmxheUxpc3QuaCIKICNpbmNsdWRlICJQYWdlUG9wdXBEcml2
ZXIuaCIKICNpbmNsdWRlICJQYWdlV2lkZ2V0RGVsZWdhdGUuaCIKLSNpbmNsdWRlICJQbGF0Zm9y
bUdlc3R1cmVDdXJ2ZVRhcmdldC5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNsaWVudEltcGwuaCIK
ICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViTmF2aWdhdGlvblBvbGlj
eS5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlICJXZWJWaWV3QmVuY2htYXJrU3Vw
cG9ydEltcGwuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRRdWFkLmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYkdlc3R1cmVDdXJ2ZVRhcmdldC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXll
ci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXllclRyZWVWaWV3Q2xpZW50Lmg+CiAjaW5jbHVk
ZSA8cHVibGljL1dlYlBvaW50Lmg+CkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQWN0aXZlUGxhdGZvcm1H
ZXN0dXJlQW5pbWF0aW9uOwogY2xhc3MgQ2hyb21pdW1EYXRhT2JqZWN0OwogY2xhc3MgQ29sb3I7
CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKQEAgLTc0LDcgKzczLDYgQEAgY2xhc3MgUGFnZTsKIGNs
YXNzIFBhZ2VHcm91cDsKIGNsYXNzIFBhZ2VQb3B1cDsKIGNsYXNzIFBhZ2VQb3B1cENsaWVudDsK
LWNsYXNzIFBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0OwogY2xhc3MgUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50OwogY2xhc3MgUG9wdXBDb250YWluZXI7CiBjbGFzcyBQb3B1cE1lbnVDbGllbnQ7CkBA
IC0xMDEsNiArOTksNyBAQCBjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5OwogY2xh
c3MgVXNlck1lZGlhQ2xpZW50SW1wbDsKIGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50SW1w
bDsKIGNsYXNzIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q7CitjbGFzcyBXZWJBY3RpdmVHZXN0dXJl
QW5pbWF0aW9uOwogY2xhc3MgV2ViQ29tcG9zaXRvckltcGw7CiBjbGFzcyBXZWJEZXZUb29sc0Fn
ZW50Q2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudFByaXZhdGU7CkBAIC0xMjEsNyArMTIw
LDcgQEAgY2xhc3MgV2ViVmlld0JlbmNobWFya1N1cHBvcnQ7CiBjbGFzcyBXZWJWaWV3SW1wbCA6
IHB1YmxpYyBXZWJWaWV3CiAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJMYXllclRyZWVW
aWV3Q2xpZW50CiAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBSZWZDb3VudGVkPFdlYlZpZXdJ
bXBsPgotICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJl
Q3VydmVUYXJnZXQKKyAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYkdlc3R1cmVDdXJ2ZVRh
cmdldAogI2lmIEVOQUJMRShQQUdFX1BPUFVQKQogICAgICAgICAgICAgICAgICAgLCBwdWJsaWMg
V2ViQ29yZTo6UGFnZVBvcHVwRHJpdmVyCiAjZW5kaWYKQEAgLTQwNCw4ICs0MDMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
OwogICAgIHZvaWQgaGFzVG91Y2hFdmVudEhhbmRsZXJzKGJvb2wpOwogCi0gICAgLy8gUGxhdGZv
cm1HZXN0dXJlQ3VydmVUYXJnZXQgaW1wbGVtZW50YXRpb24gZm9yIHdoZWVsIGZsaW5nLgotICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOworICAgIC8v
IFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBsZW1lbnRhdGlvbiBmb3IgZmxpbmcuCisgICAgdmly
dHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50Jik7CiAKICAgICAvLyBIYW5kbGVzIGNv
bnRleHQgbWVudSBldmVudHMgb3JpZ25hdGVkIHZpYSB0aGUgdGhlIGtleWJvYXJkLiBUaGVzZQog
ICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQUFMgdmlydHVhbCBrZXkgYW5kIHRoZSBTaGlmdCtGMTAg
Y29tYmluZS4gQ29kZSBpcwpAQCAtODcwLDcgKzg2OSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogICAgIE93blB0cjxOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnRJbXBsPiBtX25hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKICNlbmRpZgotICAg
IE93blB0cjxXZWJDb3JlOjpBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmltYXRpb24+IG1fZ2VzdHVy
ZUFuaW1hdGlvbjsKKyAgICBPd25QdHI8V2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbj4gbV9nZXN0
dXJlQW5pbWF0aW9uOwogICAgIFdlYlBvaW50IG1fbGFzdFdoZWVsUG9zaXRpb247CiAgICAgV2Vi
UG9pbnQgbV9sYXN0V2hlZWxHbG9iYWxQb3NpdGlvbjsKICAgICBpbnQgbV9mbGluZ01vZGlmaWVy
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175281</attachid>
            <date>2012-11-20 14:33:06 -0800</date>
            <delta_ts>2012-11-20 15:28:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100884-20121120173054.patch</filename>
            <type>text/plain</type>
            <size>13868</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDk2ZmQxZWE5NzNhN2Y3Yzk5NjQ4Mzg1MmVlMzM1YWJjNzcxNjQ3NmQuLjZiZjUxNjY5MTViMzI4
MmY2MTYwNmViODJjNzUzOWMxYzJmZDkyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTItMTEtMTUgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNlIGVtYmVkZGVyLXN1cHBvcnRlZCBn
ZXN0dXJlIGN1cnZlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAg
ICAgICAgVXNlIGVtYmVkZGVyLXByb3ZpZGVkIGdlc3R1cmUgYW5pbWF0aW9uIGN1cnZlcyB2aWEg
V2ViS2l0IGFwaSBpbnRlcmZhY2VzLgorICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVy
ZUZsaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6
OnNjcm9sbEJ5KToKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwu
aDoKKyAgICAgICAgKFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xs
QnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxGbGluZ0Fu
aW1hdGlvbik6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMTEt
MTkgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZC4gRml4IENocm9taXVtIFdpbiBjb21waWxhdGlvbiBhZnRlciByMTM1MTk2LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFu
ZGxlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklu
cHV0SGFuZGxlckltcGwuY3BwCmluZGV4IDZkYmNjNzIyYWVjYzZlY2NmZjA3NWU0NjA5NGRkMTdk
NThlYzkyYTguLjc0ODM2ZDU1ZjM1OGEzODk1ODRkOWFmMDlhYmNiODUxYTUzNTYzN2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRs
ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbC5jcHAKQEAgLTI3LDEyICsyNywxMiBAQAogCiAjaW5jbHVkZSAiV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVy
ZUN1cnZlRmFjdG9yeS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0Lmgi
CiAjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogI2luY2x1ZGUgIldlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCisjaW5jbHVkZSA8cHVi
bGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYklucHV0SGFuZGxlckNsaWVudC5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0yMDYsOCArMjA2LDgg
QEAgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OkV2ZW50RGlzcG9zaXRpb24gV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckltcGw6OmgKICAgICBzd2l0Y2ggKHNjcm9sbFN0YXR1cykgewog
ICAgIGNhc2UgV2ViSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGF0dXNTdGFydGVkOiB7CiAg
ICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY3JvbGxFbmQoKTsKLSAgICAgICAgbV93aGVl
bEZsaW5nQ3VydmUgPSBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZUZhY3Rvcnk6OmdldCgpLT5jcmVhdGVD
dXJ2ZShnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmljZSwgRmxvYXRQb2lu
dChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50LmRh
dGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsKLSAgICAgICAgVFJBQ0VfRVZFTlRfQVNZTkNfQkVH
SU4xKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVyZUZs
aW5nOjpzdGFydGVkIiwgdGhpcywgImN1cnZlIiwgbV93aGVlbEZsaW5nQ3VydmUtPmRlYnVnTmFt
ZSgpKTsKKyAgICAgICAgbV93aGVlbEZsaW5nQ3VydmUgPSBhZG9wdFB0cihQbGF0Zm9ybTo6Y3Vy
cmVudCgpLT5jcmVhdGVGbGluZ0FuaW1hdGlvbkN1cnZlKGdlc3R1cmVFdmVudC5kYXRhLmZsaW5n
U3RhcnQuc291cmNlRGV2aWNlLCBXZWJGbG9hdFBvaW50KGdlc3R1cmVFdmVudC5kYXRhLmZsaW5n
U3RhcnQudmVsb2NpdHlYLCBnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSks
IFdlYlNpemUoKSkpOworICAgICAgICBUUkFDRV9FVkVOVF9BU1lOQ19CRUdJTjAoImNjIiwgIldl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpoYW5kbGVHZXN0dXJlRmxpbmc6OnN0YXJ0ZWQi
LCB0aGlzKTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5kZWx0YSA9IFdlYkZsb2F0
UG9pbnQoZ2VzdHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGdlc3R1cmVFdmVu
dC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZKTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1l
dGVycy5wb2ludCA9IFdlYlBvaW50KGdlc3R1cmVFdmVudC54LCBnZXN0dXJlRXZlbnQueSk7CiAg
ICAgICAgIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnMuZ2xvYmFsUG9pbnQgPSBXZWJQb2ludChnZXN0
dXJlRXZlbnQuZ2xvYmFsWCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFkpOwpAQCAtMjczLDE2ICsyNzMs
MTYgQEAgYm9vbCBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6Y2FuY2VsQ3VycmVudEZs
aW5nKCkKICAgICByZXR1cm4gaGFkRmxpbmdBbmltYXRpb247CiB9CiAKLXZvaWQgV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGw6OnNjcm9sbEJ5KGNvbnN0IEludFBvaW50JiBpbmNyZW1lbnQp
Cit2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpzY3JvbGxCeShjb25zdCBXZWJQ
b2ludCYgaW5jcmVtZW50KQogewotICAgIGlmIChpbmNyZW1lbnQgPT0gSW50UG9pbnQ6Onplcm8o
KSkKKyAgICBpZiAoaW5jcmVtZW50ID09IFdlYlBvaW50KCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFRSQUNFX0VWRU5UMigiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OnNj
cm9sbEJ5IiwgIngiLCBpbmNyZW1lbnQueCgpLCAieSIsIGluY3JlbWVudC55KCkpOworICAgIFRS
QUNFX0VWRU5UMigiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OnNjcm9sbEJ5
IiwgIngiLCBpbmNyZW1lbnQueCwgInkiLCBpbmNyZW1lbnQueSk7CiAgICAgV2ViTW91c2VXaGVl
bEV2ZW50IHN5bnRoZXRpY1doZWVsOwogICAgIHN5bnRoZXRpY1doZWVsLnR5cGUgPSBXZWJJbnB1
dEV2ZW50OjpNb3VzZVdoZWVsOwotICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWCA9IGluY3JlbWVu
dC54KCk7Ci0gICAgc3ludGhldGljV2hlZWwuZGVsdGFZID0gaW5jcmVtZW50LnkoKTsKKyAgICBz
eW50aGV0aWNXaGVlbC5kZWx0YVggPSBpbmNyZW1lbnQueDsKKyAgICBzeW50aGV0aWNXaGVlbC5k
ZWx0YVkgPSBpbmNyZW1lbnQueTsKICAgICBzeW50aGV0aWNXaGVlbC5oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzID0gdHJ1ZTsKICAgICBzeW50aGV0aWNXaGVlbC54ID0gbV93aGVlbEZsaW5nUGFy
YW1ldGVycy5wb2ludC54OwogICAgIHN5bnRoZXRpY1doZWVsLnkgPSBtX3doZWVsRmxpbmdQYXJh
bWV0ZXJzLnBvaW50Lnk7CkBAIC0yOTMsOCArMjkzLDggQEAgdm9pZCBXZWJDb21wb3NpdG9ySW5w
dXRIYW5kbGVySW1wbDo6c2Nyb2xsQnkoY29uc3QgSW50UG9pbnQmIGluY3JlbWVudCkKICAgICBX
ZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6RXZlbnREaXNwb3NpdGlvbiBkaXNwb3NpdGlv
biA9IGhhbmRsZUlucHV0RXZlbnRJbnRlcm5hbChzeW50aGV0aWNXaGVlbCk7CiAgICAgc3dpdGNo
IChkaXNwb3NpdGlvbikgewogICAgIGNhc2UgRGlkSGFuZGxlOgotICAgICAgICBtX3doZWVsRmxp
bmdQYXJhbWV0ZXJzLmN1bXVsYXRpdmVTY3JvbGwud2lkdGggKz0gaW5jcmVtZW50LngoKTsKLSAg
ICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5jdW11bGF0aXZlU2Nyb2xsLmhlaWdodCArPSBp
bmNyZW1lbnQueSgpOworICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmN1bXVsYXRpdmVT
Y3JvbGwud2lkdGggKz0gaW5jcmVtZW50Lng7CisgICAgICAgIG1fd2hlZWxGbGluZ1BhcmFtZXRl
cnMuY3VtdWxhdGl2ZVNjcm9sbC5oZWlnaHQgKz0gaW5jcmVtZW50Lnk7CiAgICAgY2FzZSBEcm9w
RXZlbnQ6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRGlkTm90SGFuZGxlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRs
ZXJJbXBsLmgKaW5kZXggZmE4MWRlOTQ1MjdjYWQ5ZTJjYWFjYmQ1YTlkNGE4NzNiMzk2Y2VmMS4u
ZWZlN2Y1M2I0MDU3MWYxOTUxOWIzM2JiM2FlMzkxYzhlMTdkMWI0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVy
SW1wbC5oCkBAIC0yNiwxMCArMjYsMTEgQEAKICNpZm5kZWYgV2ViQ29tcG9zaXRvcklucHV0SGFu
ZGxlckltcGxfaAogI2RlZmluZSBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbF9oCiAKLSNp
bmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldC5oIgogI2luY2x1ZGUgIldlYkFjdGl2
ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFu
ZGxlci5oIgogI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
R2VzdHVyZUN1cnZlLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkdlc3R1cmVDdXJ2ZVRhcmdldC5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJJbnB1dEhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDEsMTQgKzQyLDEzIEBA
IGNsYXNzIE11dGV4OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRQb2ludDsKLWNs
YXNzIFBsYXRmb3JtR2VzdHVyZUN1cnZlOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsKIAotY2xhc3MgV2ViQ29tcG9zaXRv
cklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciwgcHVi
bGljIFdlYklucHV0SGFuZGxlciwgcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUN1cnZl
VGFyZ2V0IHsKK2NsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsIDogcHVibGljIFdl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIsIHB1YmxpYyBXZWJJbnB1dEhhbmRsZXIsIHB1YmxpYyBX
ZWJHZXN0dXJlQ3VydmVUYXJnZXQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvbXBv
c2l0b3JJbnB1dEhhbmRsZXJJbXBsKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQ29tcG9zaXRv
cklucHV0SGFuZGxlciogZnJvbUlkZW50aWZpZXIoaW50IGlkZW50aWZpZXIpOwpAQCAtNjQsOCAr
NjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJpbmRUb0NsaWVudChXZWJJbnB1dEhh
bmRsZXJDbGllbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUgbW9ub3Rvbmlj
VGltZSk7CiAKLSAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBs
ZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmKTsKKyAgICAvLyBXZWJHZXN0dXJlQ3VydmVUYXJnZXQgaW1wbGVtZW50YXRpb24uCisg
ICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50Jik7CiAKICAgICBpbnQgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCkBAIC04MSw3ICs4MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHdlIGFjdHVhbGx5IGhhZCBhbiBh
Y3RpdmUgZmxpbmcgdG8gY2FuY2VsLgogICAgIGJvb2wgY2FuY2VsQ3VycmVudEZsaW5nKCk7CiAK
LSAgICBPd25QdHI8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlQ3VydmU+IG1fd2hlZWxGbGluZ0N1
cnZlOworICAgIE93blB0cjxXZWJHZXN0dXJlQ3VydmU+IG1fd2hlZWxGbGluZ0N1cnZlOwogICAg
IC8vIFBhcmFtZXRlcnMgZm9yIHRoZSBhY3RpdmUgZmxpbmcgYW5pbWF0aW9uLCBzdG9yZWQgaW4g
Y2FzZSB3ZSBuZWVkIHRvIHRyYW5zZmVyIGl0IG91dCBsYXRlci4KICAgICBXZWJBY3RpdmVXaGVl
bEZsaW5nUGFyYW1ldGVycyBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYjc3ZDA0NzgyODA2N2RhNzA2YjUy
OGE4MWY0NDdhOWUyZWQ0YmQ4Ny4uMjczYTVkZGM3OGM3MGM0NGYxMTJhMGJmYTQ5ZDE5NWI5MThl
ZWM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAt
MzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgiCiAKICNpbmNsdWRlICJBWE9i
amVjdENhY2hlLmgiCi0jaW5jbHVkZSAiQWN0aXZlUGxhdGZvcm1HZXN0dXJlQW5pbWF0aW9uLmgi
CiAjaW5jbHVkZSAiQXV0b2ZpbGxQb3B1cE1lbnVDbGllbnQuaCIKICNpbmNsdWRlICJCYWNrRm9y
d2FyZExpc3RDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkJhdHRlcnlDbGllbnRJbXBsLmgiCkBAIC0x
NDUsNiArMTQ0LDcgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2hl
ZWxFdmVudC5oIgogI2luY2x1ZGUgInBhaW50aW5nL0dyYXBoaWNzQ29udGV4dEJ1aWxkZXIuaCIK
KyNpbmNsdWRlICJzcmMvV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHB1
YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yT3V0cHV0U3Vy
ZmFjZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgpAQCAtMTcw
LDcgKzE3MCw2IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKLSNpbmNs
dWRlICJQbGF0Zm9ybUdlc3R1cmVDdXJ2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUdl
c3R1cmVFdmVudC5oIgogI2luY2x1ZGUgIlRvdWNoRGlzYW1iaWd1YXRpb24uaCIKICNlbmRpZgpA
QCAtNjQ5LDE1ICs2NDgsMTUgQEAgdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlTW91c2VVcChGcmFt
ZSYgbWFpbkZyYW1lLCBjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKICNlbmRpZgogfQogCi12
b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxCeShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVsdGEp
Cit2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxCeShjb25zdCBXZWJQb2ludCYgZGVsdGEpCiB7CiAg
ICAgV2ViTW91c2VXaGVlbEV2ZW50IHN5bnRoZXRpY1doZWVsOwogICAgIGNvbnN0IGZsb2F0IHRp
Y2tEaXZpc29yID0gV2ViQ29yZTo6V2hlZWxFdmVudDo6dGlja011bHRpcGxpZXI7CiAKLSAgICBz
eW50aGV0aWNXaGVlbC5kZWx0YVggPSBkZWx0YS54KCk7Ci0gICAgc3ludGhldGljV2hlZWwuZGVs
dGFZID0gZGVsdGEueSgpOwotICAgIHN5bnRoZXRpY1doZWVsLndoZWVsVGlja3NYID0gZGVsdGEu
eCgpIC8gdGlja0Rpdmlzb3I7Ci0gICAgc3ludGhldGljV2hlZWwud2hlZWxUaWNrc1kgPSBkZWx0
YS55KCkgLyB0aWNrRGl2aXNvcjsKKyAgICBzeW50aGV0aWNXaGVlbC5kZWx0YVggPSBkZWx0YS54
OworICAgIHN5bnRoZXRpY1doZWVsLmRlbHRhWSA9IGRlbHRhLnk7CisgICAgc3ludGhldGljV2hl
ZWwud2hlZWxUaWNrc1ggPSBkZWx0YS54IC8gdGlja0Rpdmlzb3I7CisgICAgc3ludGhldGljV2hl
ZWwud2hlZWxUaWNrc1kgPSBkZWx0YS55IC8gdGlja0Rpdmlzb3I7CiAgICAgc3ludGhldGljV2hl
ZWwuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IHRydWU7CiAgICAgc3ludGhldGljV2hlZWwu
eCA9IG1fbGFzdFdoZWVsUG9zaXRpb24ueDsKICAgICBzeW50aGV0aWNXaGVlbC55ID0gbV9sYXN0
V2hlZWxQb3NpdGlvbi55OwpAQCAtNzA1LDkgKzcwNCw4IEBAIGJvb2wgV2ViVmlld0ltcGw6Omhh
bmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBt
X2xhc3RXaGVlbFBvc2l0aW9uID0gV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSk7CiAgICAgICAg
IG1fbGFzdFdoZWVsR2xvYmFsUG9zaXRpb24gPSBXZWJQb2ludChldmVudC5nbG9iYWxYLCBldmVu
dC5nbG9iYWxZKTsKICAgICAgICAgbV9mbGluZ01vZGlmaWVyID0gZXZlbnQubW9kaWZpZXJzOwot
ICAgICAgICAvLyBGSVhNRTogTWFrZSB0aGUgY3VydmUgcGFyYW1ldHJpemFibGUgZnJvbSB0aGUg
YnJvd3Nlci4KLSAgICAgICAgT3duUHRyPFBsYXRmb3JtR2VzdHVyZUN1cnZlPiBmbGluZ0N1cnZl
ID0gUGxhdGZvcm1HZXN0dXJlQ3VydmVGYWN0b3J5OjpnZXQoKS0+Y3JlYXRlQ3VydmUoZXZlbnQu
ZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmljZSwgRmxvYXRQb2ludChldmVudC5kYXRhLmZsaW5n
U3RhcnQudmVsb2NpdHlYLCBldmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZKSk7Ci0gICAg
ICAgIG1fZ2VzdHVyZUFuaW1hdGlvbiA9IEFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbjo6
Y3JlYXRlKGZsaW5nQ3VydmUucmVsZWFzZSgpLCB0aGlzKTsKKyAgICAgICAgT3duUHRyPFdlYkdl
c3R1cmVDdXJ2ZT4gZmxpbmdDdXJ2ZSA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNy
ZWF0ZUZsaW5nQW5pbWF0aW9uQ3VydmUoZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmlj
ZSwgV2ViRmxvYXRQb2ludChldmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBldmVudC5k
YXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZKSwgV2ViU2l6ZSgpKSk7CisgICAgICAgIG1fZ2VzdHVy
ZUFuaW1hdGlvbiA9IFdlYkFjdGl2ZUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZUF0QW5pbWF0aW9u
U3RhcnQoZmxpbmdDdXJ2ZS5yZWxlYXNlKCksIHRoaXMpOwogICAgICAgICBzY2hlZHVsZUFuaW1h
dGlvbigpOwogICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CiAgICAgICAgIGJyZWFrOwpA
QCAtODA5LDggKzgwNyw4IEBAIHZvaWQgV2ViVmlld0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxG
bGluZ0FuaW1hdGlvbihjb25zdCBXZWJBY3RpdmVXaGVlbEZsaW5nUGFyCiAgICAgbV9sYXN0V2hl
ZWxQb3NpdGlvbiA9IHBhcmFtZXRlcnMucG9pbnQ7CiAgICAgbV9sYXN0V2hlZWxHbG9iYWxQb3Np
dGlvbiA9IHBhcmFtZXRlcnMuZ2xvYmFsUG9pbnQ7CiAgICAgbV9mbGluZ01vZGlmaWVyID0gcGFy
YW1ldGVycy5tb2RpZmllcnM7Ci0gICAgT3duUHRyPFBsYXRmb3JtR2VzdHVyZUN1cnZlPiBjdXJ2
ZSA9IFBsYXRmb3JtR2VzdHVyZUN1cnZlRmFjdG9yeTo6Z2V0KCktPmNyZWF0ZUN1cnZlKHBhcmFt
ZXRlcnMuc291cmNlRGV2aWNlLCBwYXJhbWV0ZXJzLmRlbHRhLCBJbnRQb2ludChwYXJhbWV0ZXJz
LmN1bXVsYXRpdmVTY3JvbGwpKTsKLSAgICBtX2dlc3R1cmVBbmltYXRpb24gPSBBY3RpdmVQbGF0
Zm9ybUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZShjdXJ2ZS5yZWxlYXNlKCksIHRoaXMsIHBhcmFt
ZXRlcnMuc3RhcnRUaW1lKTsKKyAgICBPd25QdHI8V2ViR2VzdHVyZUN1cnZlPiBjdXJ2ZSA9IGFk
b3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNyZWF0ZUZsaW5nQW5pbWF0aW9uQ3VydmUocGFy
YW1ldGVycy5zb3VyY2VEZXZpY2UsIFdlYkZsb2F0UG9pbnQocGFyYW1ldGVycy5kZWx0YSksIHBh
cmFtZXRlcnMuY3VtdWxhdGl2ZVNjcm9sbCkpOworICAgIG1fZ2VzdHVyZUFuaW1hdGlvbiA9IFdl
YkFjdGl2ZUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZVdpdGhUaW1lT2Zmc2V0KGN1cnZlLnJlbGVh
c2UoKSwgdGhpcywgcGFyYW1ldGVycy5zdGFydFRpbWUpOwogICAgIHNjaGVkdWxlQW5pbWF0aW9u
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDlm
MDU2MTgwYjM4OTA2NGM4NTBkNDdlNTQxOWY5N2YyOTZmOGVjNDQuLjU5YzMyMDZlNThiNWYzZjNm
NmRiOGMzNzQ5MGY3OWYxOTdlN2FkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaApAQCAtNDQsMTMgKzQ0LDEzIEBACiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlMaXN0
LmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwRHJpdmVyLmgiCiAjaW5jbHVkZSAiUGFnZVdpZGdldERl
bGVnYXRlLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNpbmNs
dWRlICJVc2VyTWVkaWFDbGllbnRJbXBsLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgog
I2luY2x1ZGUgIldlYk5hdmlnYXRpb25Qb2xpY3kuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAj
aW5jbHVkZSAiV2ViVmlld0JlbmNobWFya1N1cHBvcnRJbXBsLmgiCiAjaW5jbHVkZSA8cHVibGlj
L1dlYkZsb2F0UXVhZC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJHZXN0dXJlQ3VydmVUYXJnZXQu
aD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5
ZXJUcmVlVmlld0NsaWVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJQb2ludC5oPgpAQCAtNjEs
NyArNjEsNiBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLWNsYXNzIEFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbjsKIGNsYXNzIENocm9t
aXVtRGF0YU9iamVjdDsKIGNsYXNzIENvbG9yOwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7CkBAIC03
NCw3ICs3Myw2IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBQYWdlUG9w
dXA7CiBjbGFzcyBQYWdlUG9wdXBDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRh
cmdldDsKIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDsKIGNsYXNzIFBvcHVwQ29udGFpbmVy
OwogY2xhc3MgUG9wdXBNZW51Q2xpZW50OwpAQCAtMTAxLDYgKzk5LDcgQEAgY2xhc3MgU3BlZWNo
UmVjb2duaXRpb25DbGllbnRQcm94eTsKIGNsYXNzIFVzZXJNZWRpYUNsaWVudEltcGw7CiBjbGFz
cyBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudEltcGw7CiBjbGFzcyBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OworY2xhc3MgV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjsKIGNsYXNzIFdlYkNvbXBvc2l0
b3JJbXBsOwogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudENsaWVudDsKIGNsYXNzIFdlYkRldlRvb2xz
QWdlbnRQcml2YXRlOwpAQCAtMTE5LDEzICsxMTgsMTMgQEAgY2xhc3MgV2ViVG91Y2hFdmVudDsK
IGNsYXNzIFdlYlZpZXdCZW5jaG1hcmtTdXBwb3J0OwogCiBjbGFzcyBXZWJWaWV3SW1wbCA6IHB1
YmxpYyBXZWJWaWV3Ci0gICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJMYXllclRyZWVWaWV3
Q2xpZW50Ci0gICAgICAgICAgICAgICAgICAsIHB1YmxpYyBSZWZDb3VudGVkPFdlYlZpZXdJbXBs
PgotICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlQ3Vy
dmVUYXJnZXQKKyAgICAsIHB1YmxpYyBXZWJMYXllclRyZWVWaWV3Q2xpZW50CisgICAgLCBwdWJs
aWMgUmVmQ291bnRlZDxXZWJWaWV3SW1wbD4KKyAgICAsIHB1YmxpYyBXZWJHZXN0dXJlQ3VydmVU
YXJnZXQKICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKLSAgICAgICAgICAgICAgICAgICwgcHVibGlj
IFdlYkNvcmU6OlBhZ2VQb3B1cERyaXZlcgorICAgICwgcHVibGljIFdlYkNvcmU6OlBhZ2VQb3B1
cERyaXZlcgogI2VuZGlmCi0gICAgICAgICAgICAgICAgICAsIHB1YmxpYyBQYWdlV2lkZ2V0RXZl
bnRIYW5kbGVyIHsKKyAgICAsIHB1YmxpYyBQYWdlV2lkZ2V0RXZlbnRIYW5kbGVyIHsKIHB1Ymxp
YzoKICAgICBlbnVtIEF1dG9ab29tVHlwZSB7CiAgICAgICAgIERvdWJsZVRhcCwKQEAgLTQwNSw4
ICs0MDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpOwogICAgIHZvaWQgaGFzVG91Y2hFdmVudEhhbmRsZXJzKGJvb2wpOwog
Ci0gICAgLy8gUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQgaW1wbGVtZW50YXRpb24gZm9yIHdo
ZWVsIGZsaW5nLgotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpOworICAgIC8vIFdlYkdlc3R1cmVDdXJ2ZVRhcmdldCBpbXBsZW1lbnRhdGlvbiBmb3Ig
ZmxpbmcuCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KGNvbnN0IFdlYlBvaW50Jik7CiAKICAg
ICAvLyBIYW5kbGVzIGNvbnRleHQgbWVudSBldmVudHMgb3JpZ25hdGVkIHZpYSB0aGUgdGhlIGtl
eWJvYXJkLiBUaGVzZQogICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQUFMgdmlydHVhbCBrZXkgYW5k
IHRoZSBTaGlmdCtGMTAgY29tYmluZS4gQ29kZSBpcwpAQCAtODczLDcgKzg3Miw3IEBAIHByaXZh
dGU6CiAjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogICAgIE93blB0cjxOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsPiBtX25hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDsKICNlbmRpZgotICAgIE93blB0cjxXZWJDb3JlOjpBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmlt
YXRpb24+IG1fZ2VzdHVyZUFuaW1hdGlvbjsKKyAgICBPd25QdHI8V2ViQWN0aXZlR2VzdHVyZUFu
aW1hdGlvbj4gbV9nZXN0dXJlQW5pbWF0aW9uOwogICAgIFdlYlBvaW50IG1fbGFzdFdoZWVsUG9z
aXRpb247CiAgICAgV2ViUG9pbnQgbV9sYXN0V2hlZWxHbG9iYWxQb3NpdGlvbjsKICAgICBpbnQg
bV9mbGluZ01vZGlmaWVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>