<?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>51728</bug_id>
          
          <creation_ts>2010-12-29 15:55:23 -0800</creation_ts>
          <short_desc>[Chromium] Add WebThemeEngineDRTMac so that Chromium DRT scrollbar rendering can match the Mac port&apos;s</short_desc>
          <delta_ts>2010-12-30 20:02:57 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>51151</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>avi</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>327727</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-29 15:55:23 -0800</bug_when>
    <thetext>[Chromium] Add WebThemeEngineDRTMac so that Chromium DRT scrollbar rendering can match the Mac port&apos;s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327728</commentid>
    <comment_count>1</comment_count>
      <attachid>77649</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-29 15:55:54 -0800</bug_when>
    <thetext>Created attachment 77649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327810</commentid>
    <comment_count>2</comment_count>
      <attachid>77657</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-29 20:00:08 -0800</bug_when>
    <thetext>Created attachment 77657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327811</commentid>
    <comment_count>3</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-29 20:04:50 -0800</bug_when>
    <thetext>This depends on the changes in http://codereview.chromium.org/6090002/. I&apos;ll need to wait for that to be checked in and then adjust the DEPS roll to at least that revision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327836</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-29 22:33:33 -0800</bug_when>
    <thetext>Attachment 77657 did not build on chromium:
Build output: http://queues.webkit.org/results/7318277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327988</commentid>
    <comment_count>5</comment_count>
      <attachid>77693</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-30 12:03:46 -0800</bug_when>
    <thetext>Created attachment 77693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327989</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-30 12:04:31 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Attachment 77657 [details] did not build on chromium:
&gt; Build output: http://queues.webkit.org/results/7318277

The Chromium changes that this depends on landed as http://crrev.com/70319, so I updated the DEPS roll to that. The patch should build now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328082</commentid>
    <comment_count>7</comment_count>
      <attachid>77693</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-12-30 17:47:44 -0800</bug_when>
    <thetext>Comment on attachment 77693
Patch

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

r+ though there are some style errors.

&gt; Tools/DumpRenderTree/chromium/TestShellMac.mm:38
&gt; +// Theme engine

This comment doesn&apos;t add any useful information.  Please remove it.

&gt; Tools/DumpRenderTree/chromium/TestShellMac.mm:133
&gt; +    // Set theme engine.

ditto.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.h:43
&gt; +private:

Please add a blank line before private:.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:67
&gt; +    if (alwaysActiveWindow == nil) {
&gt; +        alwaysActiveWindow = [[self alloc] initWithActiveControls:YES];
&gt; +    }

{} is not needed.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:75
&gt; +    if (alwaysInactiveWindow == nil) {
&gt; +        alwaysInactiveWindow = [[self alloc] initWithActiveControls:NO];
&gt; +    }

ditto.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:86
&gt; +- (BOOL)_hasActiveControls {

&quot;{&quot; should be moved to a new line.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:97
&gt; +    const WebThemeEngine::ScrollbarInfo&amp; scrollbarInfo) {

ditto.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:105
&gt; +static ThemeTrackEnableState stateToHIEnableState(WebThemeEngine::State state) {

ditto.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:113
&gt; +  switch (state) {
&gt; +    case WebThemeEngine::StateDisabled:
&gt; +      return kThemeTrackDisabled;
&gt; +    case WebThemeEngine::StateInactive:
&gt; +      return kThemeTrackInactive;
&gt; +    default:
&gt; +      return kThemeTrackActive;
&gt; +  }

indentation error.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:123
&gt; +    const WebThemeEngine::ScrollbarInfo&amp; scrollbarInfo) {

&quot;{&quot; should be moved to a new line.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:149
&gt; +    const WebThemeEngine::ScrollbarInfo&amp; scrollbarInfo) {

&quot;{&quot; should be moved to a new line.

&gt; Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:163
&gt; +    double value = double(scrollbarInfo.currentValue)/double(scrollbarInfo.maxValue);
&gt; +    [scroller setDoubleValue: value];
&gt; +
&gt; +    float knobProportion = float(scrollbarInfo.visibleSize)/float(scrollbarInfo.totalSize);
&gt; +    [scroller setKnobProportion: knobProportion];

Need spaces around &quot;/&quot; operators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328090</commentid>
    <comment_count>8</comment_count>
      <attachid>77701</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-30 19:42:24 -0800</bug_when>
    <thetext>Created attachment 77701
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328091</commentid>
    <comment_count>9</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-30 19:43:38 -0800</bug_when>
    <thetext>Thanks for the review, I&apos;ve fixed all the style issues (I&apos;m still not used to switching between Chromium and WebKit styles when making double-sided changes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328092</commentid>
    <comment_count>10</comment_count>
      <attachid>77701</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-30 20:02:50 -0800</bug_when>
    <thetext>Comment on attachment 77701
Patch for landing

Clearing flags on attachment: 77701

Committed r74821: &lt;http://trac.webkit.org/changeset/74821&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328093</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-30 20:02:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77649</attachid>
            <date>2010-12-29 15:55:54 -0800</date>
            <delta_ts>2010-12-29 20:00:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51728-20101229155552.patch</filename>
            <type>text/plain</type>
            <size>11097</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NGU3
ZmRjYmY3ZWE5NDMzNDU0MGM2ZWEzM2VjYTRhZGFhMTFlZjVhLi4wMDFmYzkxNDYxNjU0MWZhYWM3
NzQyYWJhODZkNjNlYjhkZjIxNzM0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMTItMjkgIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgV2ViVGhlbWVFbmdpbmVEUlRNYWMg
c28gdGhhdCBDaHJvbWl1bSBEUlQgc2Nyb2xsYmFyIHJlbmRlcmluZyBjYW4gbWF0Y2ggdGhlIE1h
YyBwb3J0J3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUxNzI4CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2lu
ZURSVE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUVuZ2luZURSVE1hYy5tbTogQWRkZWQuCisgICAgICAgICgrW0Zha2VBY3RpdmVXaW5kb3cg
YWx3YXlzQWN0aXZlV2luZG93XSk6CisgICAgICAgICgrW0Zha2VBY3RpdmVXaW5kb3cgYWx3YXlz
SW5hY3RpdmVXaW5kb3ddKToKKyAgICAgICAgKC1bRmFrZUFjdGl2ZVdpbmRvdyBpbml0V2l0aEFj
dGl2ZUNvbnRyb2xzOl0pOgorICAgICAgICAoLVtGYWtlQWN0aXZlV2luZG93IF9oYXNBY3RpdmVD
b250cm9sc10pOgorICAgICAgICAod2Via2l0X2dsdWU6OldlYlRoZW1lRW5naW5lSW1wbDo6cGFp
bnRTY3JvbGxiYXJUaHVtYik6CisgICAgICAgICh3ZWJraXRfZ2x1ZTo6c3RhdGVUb0hJRW5hYmxl
U3RhdGUpOgorICAgICAgICAod2Via2l0X2dsdWU6OldlYlRoZW1lRW5naW5lSW1wbDo6cGFpbnRI
SVRoZW1lU2Nyb2xsYmFyVGh1bWIpOgorICAgICAgICAod2Via2l0X2dsdWU6OldlYlRoZW1lRW5n
aW5lSW1wbDo6cGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIpOgorCiAyMDEwLTEyLTI5ICBN
YXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBPamFuIFZhZmFpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlRoZW1lRW5naW5lRFJUTWFjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgzZTc4MjkwMmIwZGZhZjhmYTA5
MTcwNTZmMzI2Y2JhNGM4YjllMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLmgKQEAgLTAsMCArMSw1OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlRo
ZW1lRW5naW5lRFJUTWFjX2gKKyNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRNYWNfaAorCisjaW5j
bHVkZSAidGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlRo
ZW1lRW5naW5lLmgiCisKK25hbWVzcGFjZSB3ZWJraXRfZ2x1ZSB7CisKK2NsYXNzIFdlYlRoZW1l
RW5naW5lSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyBwdWJsaWM6Cisg
IHZpcnR1YWwgdm9pZCBwYWludFNjcm9sbGJhclRodW1iKAorICAgICAgV2ViS2l0OjpXZWJDYW52
YXMqLAorICAgICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U3RhdGUsCisgICAgICBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lOjpTaXplLAorICAgICAgY29uc3QgV2ViS2l0OjpXZWJSZWN0JiwKKyAg
ICAgIGNvbnN0IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mKTsKKyBwcml2
YXRlOgorICB2aXJ0dWFsIHZvaWQgcGFpbnRISVRoZW1lU2Nyb2xsYmFyVGh1bWIoCisgICAgICBX
ZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTdGF0ZSwK
KyAgICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNpemUsCisgICAgICBjb25zdCBXZWJLaXQ6
OldlYlJlY3QmLAorICAgICAgY29uc3QgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U2Nyb2xsYmFy
SW5mbyYpOworICB2aXJ0dWFsIHZvaWQgcGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIoCisg
ICAgICBXZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpT
dGF0ZSwKKyAgICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNpemUsCisgICAgICBjb25zdCBX
ZWJLaXQ6OldlYlJlY3QmLAorICAgICAgY29uc3QgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U2Ny
b2xsYmFySW5mbyYpOworIAorfTsKKworfSAgLy8gbmFtZXNwYWNlIHdlYmtpdF9nbHVlCisKKyNl
bmRpZiAvLyBXZWJUaGVtZUVuZ2luZURSVE1hY19oCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZWQy
OGMwMzYwM2Y0Nzg0MjI4NGY4ZGQ3ZjI2NWViMTVkN2VjMTQKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbQpAQCAt
MCwwICsxLDE4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJXZWJUaGVtZUVuZ2luZURSVE1hYy5oIgorCisjaW5jbHVk
ZSAidGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FudmFzLmgi
CisjaW5jbHVkZSAidGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UmVjdC5oIgorI2ltcG9ydCA8QXBwS2l0L05TQWZmaW5lVHJhbnNmb3JtLmg+CisjaW1wb3J0IDxB
cHBLaXQvTlNHcmFwaGljc0NvbnRleHQuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1Njcm9sbGVyLmg+
CisjaW1wb3J0IDxBcHBLaXQvTlNXaW5kb3cuaD4KKyNpbmNsdWRlIDxDYXJib24vQ2FyYm9uLmg+
CisKK3VzaW5nIFdlYktpdDo6V2ViQ2FudmFzOwordXNpbmcgV2ViS2l0OjpXZWJSZWN0OwordXNp
bmcgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTsKKworQGludGVyZmFjZSBGYWtlQWN0aXZlV2luZG93
IDogTlNXaW5kb3cgeworQHByaXZhdGUKKyAgICBCT09MIGhhc0FjdGl2ZUNvbnRyb2xzOworfQor
KyAoTlNXaW5kb3cqKWFsd2F5c0FjdGl2ZVdpbmRvdzsKKysgKE5TV2luZG93KilhbHdheXNJbmFj
dGl2ZVdpbmRvdzsKKy0gKGlkKWluaXRXaXRoQWN0aXZlQ29udHJvbHM6KEJPT0wpX2hhc0FjdGl2
ZUNvbnRyb2xzOworLSAoQk9PTClfaGFzQWN0aXZlQ29udHJvbHM7CitAZW5kCisKK0BpbXBsZW1l
bnRhdGlvbiBGYWtlQWN0aXZlV2luZG93CisKK3N0YXRpYyBOU1dpbmRvdyogYWx3YXlzQWN0aXZl
V2luZG93ID0gbmlsOworc3RhdGljIE5TV2luZG93KiBhbHdheXNJbmFjdGl2ZVdpbmRvdyA9IG5p
bDsKKworKyAoTlNXaW5kb3cqKWFsd2F5c0FjdGl2ZVdpbmRvdworeworICAgIGlmIChhbHdheXNB
Y3RpdmVXaW5kb3cgPT0gbmlsKSB7CisgICAgICAgIGFsd2F5c0FjdGl2ZVdpbmRvdyA9IFtbc2Vs
ZiBhbGxvY10gaW5pdFdpdGhBY3RpdmVDb250cm9sczpZRVNdOworICAgIH0KKyAgICByZXR1cm4g
YWx3YXlzQWN0aXZlV2luZG93OworfQorCisrIChOU1dpbmRvdyopYWx3YXlzSW5hY3RpdmVXaW5k
b3cKK3sKKyAgICBpZiAoYWx3YXlzSW5hY3RpdmVXaW5kb3cgPT0gbmlsKSB7CisgICAgICAgIGFs
d2F5c0luYWN0aXZlV2luZG93ID0gW1tzZWxmIGFsbG9jXSBpbml0V2l0aEFjdGl2ZUNvbnRyb2xz
Ok5PXTsKKyAgICB9CisgICAgcmV0dXJuIGFsd2F5c0luYWN0aXZlV2luZG93OworfQorCistIChp
ZClpbml0V2l0aEFjdGl2ZUNvbnRyb2xzOihCT09MKV9oYXNBY3RpdmVDb250cm9scworeworICAg
IHNlbGYgPSBbc3VwZXIgaW5pdF07CisgICAgaGFzQWN0aXZlQ29udHJvbHMgPSBfaGFzQWN0aXZl
Q29udHJvbHM7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKEJPT0wpX2hhc0FjdGl2ZUNvbnRy
b2xzIHsKKyAgcmV0dXJuIGhhc0FjdGl2ZUNvbnRyb2xzOworfQorCitAZW5kCisKK25hbWVzcGFj
ZSB3ZWJraXRfZ2x1ZSB7CisKK3ZvaWQgV2ViVGhlbWVFbmdpbmVJbXBsOjpwYWludFNjcm9sbGJh
clRodW1iKAorICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0
ZSBzdGF0ZSwKKyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJl
Y3QmIHJlY3QsCisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9s
bGJhckluZm8pIHsKKyAgICBpZiAoc2Nyb2xsYmFySW5mby5wYXJlbnQgPT0gV2ViVGhlbWVFbmdp
bmU6OlNjcm9sbGJhclBhcmVudFJlbmRlckxheWVyKQorICAgICAgICBwYWludEhJVGhlbWVTY3Jv
bGxiYXJUaHVtYihjYW52YXMsIHN0YXRlLCBzaXplLCByZWN0LCBzY3JvbGxiYXJJbmZvKTsKKyAg
ICBlbHNlCisgICAgICAgIHBhaW50TlNTY3JvbGxlclNjcm9sbGJhclRodW1iKGNhbnZhcywgc3Rh
dGUsIHNpemUsIHJlY3QsIHNjcm9sbGJhckluZm8pOworfQorCitzdGF0aWMgVGhlbWVUcmFja0Vu
YWJsZVN0YXRlIHN0YXRlVG9ISUVuYWJsZVN0YXRlKFdlYlRoZW1lRW5naW5lOjpTdGF0ZSBzdGF0
ZSkgeworICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBXZWJUaGVtZUVuZ2luZTo6U3RhdGVE
aXNhYmxlZDoKKyAgICAgIHJldHVybiBrVGhlbWVUcmFja0Rpc2FibGVkOworICAgIGNhc2UgV2Vi
VGhlbWVFbmdpbmU6OlN0YXRlSW5hY3RpdmU6CisgICAgICByZXR1cm4ga1RoZW1lVHJhY2tJbmFj
dGl2ZTsKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuIGtUaGVtZVRyYWNrQWN0aXZlOworICB9
Cit9CisKK3ZvaWQgV2ViVGhlbWVFbmdpbmVJbXBsOjpwYWludEhJVGhlbWVTY3JvbGxiYXJUaHVt
YigKKyAgICBXZWJDYW52YXMqIGNhbnZhcywKKyAgICBXZWJUaGVtZUVuZ2luZTo6U3RhdGUgc3Rh
dGUsCisgICAgV2ViVGhlbWVFbmdpbmU6OlNpemUgc2l6ZSwKKyAgICBjb25zdCBXZWJSZWN0JiBy
ZWN0LAorICAgIGNvbnN0IFdlYlRoZW1lRW5naW5lOjpTY3JvbGxiYXJJbmZvJiBzY3JvbGxiYXJJ
bmZvKSB7CisgICAgSElUaGVtZVRyYWNrRHJhd0luZm8gdHJhY2tJbmZvOworICAgIHRyYWNrSW5m
by52ZXJzaW9uID0gMDsKKyAgICB0cmFja0luZm8ua2luZCA9IHNpemUgPT0gV2ViVGhlbWVFbmdp
bmU6OlNpemVSZWd1bGFyID8ga1RoZW1lTWVkaXVtU2Nyb2xsQmFyIDoga1RoZW1lU21hbGxTY3Jv
bGxCYXI7CisgICAgdHJhY2tJbmZvLmJvdW5kcyA9IENHUmVjdE1ha2UocmVjdC54LCByZWN0Lnks
IHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTsKKyAgICB0cmFja0luZm8ubWluID0gMDsKKyAgICB0
cmFja0luZm8ubWF4ID0gc2Nyb2xsYmFySW5mby5tYXhWYWx1ZTsKKyAgICB0cmFja0luZm8udmFs
dWUgPSBzY3JvbGxiYXJJbmZvLmN1cnJlbnRWYWx1ZTsKKyAgICB0cmFja0luZm8udHJhY2tJbmZv
LnNjcm9sbGJhci52aWV3c2l6ZSA9IHNjcm9sbGJhckluZm8udmlzaWJsZVNpemU7CisgICAgdHJh
Y2tJbmZvLmF0dHJpYnV0ZXMgPSAwOworICAgIGlmIChzY3JvbGxiYXJJbmZvLm9yaWVudGF0aW9u
ID09IFdlYlRoZW1lRW5naW5lOjpTY3JvbGxiYXJPcmllbnRhdGlvbkhvcml6b250YWwpIAorICAg
ICAgICB0cmFja0luZm8uYXR0cmlidXRlcyB8PSBrVGhlbWVUcmFja0hvcml6b250YWw7CisgIAor
ICAgIHRyYWNrSW5mby5lbmFibGVTdGF0ZSA9IHN0YXRlVG9ISUVuYWJsZVN0YXRlKHN0YXRlKTsK
KyAgCisgICAgdHJhY2tJbmZvLnRyYWNrSW5mby5zY3JvbGxiYXIucHJlc3NTdGF0ZSA9CisgICAg
ICAgIHN0YXRlID09IFdlYlRoZW1lRW5naW5lOjpTdGF0ZVByZXNzZWQgPyBrVGhlbWVUaHVtYlBy
ZXNzZWQgOiAwOyAgCisgICAgdHJhY2tJbmZvLmF0dHJpYnV0ZXMgfD0gKGtUaGVtZVRyYWNrU2hv
d1RodW1iIHwga1RoZW1lVHJhY2tIaWRlVHJhY2spOworICAgIEhJVGhlbWVEcmF3VHJhY2soJnRy
YWNrSW5mbywgMCwgY2FudmFzLCBrSElUaGVtZU9yaWVudGF0aW9uTm9ybWFsKTsgICAgCit9CisK
K3ZvaWQgV2ViVGhlbWVFbmdpbmVJbXBsOjpwYWludE5TU2Nyb2xsZXJTY3JvbGxiYXJUaHVtYigK
KyAgICBXZWJDYW52YXMqIGNhbnZhcywKKyAgICBXZWJUaGVtZUVuZ2luZTo6U3RhdGUgc3RhdGUs
CisgICAgV2ViVGhlbWVFbmdpbmU6OlNpemUgc2l6ZSwKKyAgICBjb25zdCBXZWJSZWN0JiByZWN0
LAorICAgIGNvbnN0IFdlYlRoZW1lRW5naW5lOjpTY3JvbGxiYXJJbmZvJiBzY3JvbGxiYXJJbmZv
KSB7CisgICAgTlNTY3JvbGxlciogc2Nyb2xsZXIgPSBbW05TU2Nyb2xsZXIgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWln
aHQpXTsKKyAgICBbc2Nyb2xsZXIgc2V0RW5hYmxlZDpzdGF0ZSAhPSBXZWJUaGVtZUVuZ2luZTo6
U3RhdGVEaXNhYmxlZF07CisgICAgaWYgKHN0YXRlID09IFdlYlRoZW1lRW5naW5lOjpTdGF0ZUlu
YWN0aXZlKQorICAgICAgICBbW1tGYWtlQWN0aXZlV2luZG93IGFsd2F5c0luYWN0aXZlV2luZG93
XSBjb250ZW50Vmlld10gYWRkU3VidmlldzpzY3JvbGxlcl07ICAgIAorICAgIGVsc2UKKyAgICAg
ICAgW1tbRmFrZUFjdGl2ZVdpbmRvdyBhbHdheXNBY3RpdmVXaW5kb3ddIGNvbnRlbnRWaWV3XSBh
ZGRTdWJ2aWV3OnNjcm9sbGVyXTsKKyAgICAgICAgCisgICAgW3Njcm9sbGVyIHNldENvbnRyb2xT
aXplOnNpemUgPT0gV2ViVGhlbWVFbmdpbmU6OlNpemVSZWd1bGFyID8gTlNSZWd1bGFyQ29udHJv
bFNpemUgOiBOU1NtYWxsQ29udHJvbFNpemVdOworICAgIAorICAgIGRvdWJsZSB2YWx1ZSA9IGRv
dWJsZShzY3JvbGxiYXJJbmZvLmN1cnJlbnRWYWx1ZSkvZG91YmxlKHNjcm9sbGJhckluZm8ubWF4
VmFsdWUpOworICAgIFtzY3JvbGxlciBzZXREb3VibGVWYWx1ZTogdmFsdWVdOworICAgIAorICAg
IGZsb2F0IGtub2JQcm9wb3J0aW9uID0gZmxvYXQoc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZSkv
ZmxvYXQoc2Nyb2xsYmFySW5mby50b3RhbFNpemUpOworICAgIFtzY3JvbGxlciBzZXRLbm9iUHJv
cG9ydGlvbjoga25vYlByb3BvcnRpb25dOworICAgIAorICAgIE5TR3JhcGhpY3NDb250ZXh0KiBw
cmV2aW91c0dyYXBoaWNzQ29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4
dF07CisgICAgTlNHcmFwaGljc0NvbnRleHQqIG5zR3JhcGhpY3NDb250ZXh0ID0gW05TR3JhcGhp
Y3NDb250ZXh0IGdyYXBoaWNzQ29udGV4dFdpdGhHcmFwaGljc1BvcnQ6Y2FudmFzIGZsaXBwZWQ6
WUVTXTsKKyAgICBbTlNHcmFwaGljc0NvbnRleHQgc2V0Q3VycmVudENvbnRleHQ6bnNHcmFwaGlj
c0NvbnRleHRdOworICAgIAorICAgIC8vIERlc3BpdGUgcGFzc2luZyBpbiBmcmFtZVJlY3QoKSB0
byB0aGUgc2Nyb2xsZXIsIGl0IGFsd2F5cyBkcmF3cyBhdCAoMCwgMCkuCisgICAgLy8gRm9yY2Ug
aXQgdG8gZHJhdyBpbiB0aGUgcmlnaHQgbG9jYXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIHdob2xl
IGdyYXBoaWNzCisgICAgLy8gY29udGV4dC4KKyAgICBbbnNHcmFwaGljc0NvbnRleHQgc2F2ZUdy
YXBoaWNzU3RhdGVdOworICAgIE5TQWZmaW5lVHJhbnNmb3JtICp0cmFuc2Zvcm0gPSBbTlNBZmZp
bmVUcmFuc2Zvcm0gdHJhbnNmb3JtXTsKKyAgICBbdHJhbnNmb3JtIHRyYW5zbGF0ZVhCeTpyZWN0
LnggeUJ5OnJlY3QueV07CisgICAgW3RyYW5zZm9ybSBjb25jYXRdOyAgICAKKyAgICAKKyAgICBb
c2Nyb2xsZXIgZHJhd0tub2JdOworICAgIAorICAgIFtzY3JvbGxlciByZWxlYXNlXTsKKyAgICAK
KyAgICBbbnNHcmFwaGljc0NvbnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVdOworICAgIFtOU0dy
YXBoaWNzQ29udGV4dCBzZXRDdXJyZW50Q29udGV4dDpwcmV2aW91c0dyYXBoaWNzQ29udGV4dF07
Cit9CisgICAgCit9ICAvLyBuYW1lc3BhY2Ugd2Via2l0X2dsdWUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77657</attachid>
            <date>2010-12-29 20:00:08 -0800</date>
            <delta_ts>2010-12-30 12:03:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51728-20101229200006.patch</filename>
            <type>text/plain</type>
            <size>14692</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NGU3
ZmRjYmY3ZWE5NDMzNDU0MGM2ZWEzM2VjYTRhZGFhMTFlZjVhLi4yNTkwNWRhMDlmNmI0ZDQyODNm
ZmEwZDAyNWIxZDhiY2MzZDUwYTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMTItMjkgIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgV2ViVGhlbWVFbmdpbmVEUlRNYWMg
c28gdGhhdCBDaHJvbWl1bSBEUlQgc2Nyb2xsYmFyIHJlbmRlcmluZyBjYW4gbWF0Y2ggdGhlIE1h
YyBwb3J0J3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUxNzI4CisgICAgICAgIAorICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1hYyBX
ZWJUaGVtZUVuZ2luZSB0aGF0IHVzZXMgYW4gTlNTY3JvbGxlcgorICAgICAgICB0byByZW5kZXIg
dG9wLWxldmVsIHNjcm9sbGJhcnMuIFRoaXMgbWFrZXMgdGhlbSBtYXRjaCB0aGUgTWFjIHBvcnQn
cworICAgICAgICB1c2Ugb2YgYW4gTlNTY3JvbGxWaWV3LCB3aGljaCBtZWFucyB0aGF0IHdlJ2xs
IGJlIGFibGUgdG8gc2hhcmUgbW9yZQorICAgICAgICBwaXhlbCBiYXNlbGluZXMuCisgICAgICAg
IAorICAgICAgICBUaGUgbmV3IHJlbmRlcmluZyBjb2RlIHdpbGwgbm90IGJlIGFjdGl2YXRlZCB1
bnRpbCB0aGUgCisgICAgICAgIFVTRV9XRUJfVEhFTUVfRU5HSU5FX1RPX1BBSU5UX1RIVU1CICNk
ZWZpbmUgaXMgZmxpcGVkIGluCisgICAgICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbE1hYy5tbToKKyAgICAgICAgKHBsYXRm
b3JtSW5pdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdp
bmVEUlRNYWMuaDogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
VGhlbWVFbmdpbmVEUlRNYWMubW06IEFkZGVkLgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93
IGFsd2F5c0FjdGl2ZVdpbmRvd10pOgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93IGFsd2F5
c0luYWN0aXZlV2luZG93XSk6CisgICAgICAgICgtW0Zha2VBY3RpdmVXaW5kb3cgaW5pdFdpdGhB
Y3RpdmVDb250cm9sczpdKToKKyAgICAgICAgKC1bRmFrZUFjdGl2ZVdpbmRvdyBfaGFzQWN0aXZl
Q29udHJvbHNdKToKKyAgICAgICAgKFdlYlRoZW1lRW5naW5lRFJUTWFjOjpwYWludFNjcm9sbGJh
clRodW1iKToKKyAgICAgICAgKHN0YXRlVG9ISUVuYWJsZVN0YXRlKToKKyAgICAgICAgKFdlYlRo
ZW1lRW5naW5lRFJUTWFjOjpwYWludEhJVGhlbWVTY3JvbGxiYXJUaHVtYik6CisgICAgICAgIChX
ZWJUaGVtZUVuZ2luZURSVE1hYzo6cGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIpOgorCiAy
MDEwLTEyLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5k
ZXJUcmVlLmd5cGkKaW5kZXggMDRjYWVlN2Y4YjdhYWYzMTI0NjQ5Zjc3YmY4ZWVjNmE5MDZhZDgw
NS4uYjdkZTU4MDYwNzA5OTU2YzBhZGMyNDc1NmVjOWRkMTFkNmY1M2IyOSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCkBAIC02Nyw2ICs2NywxMiBAQAogICAgICAg
ICAgICAgICAgICAgICAnY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaCcsCiAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgWydPUz09Im1hYyInLCB7
CisgICAgICAgICAgICAgICAgJ2RydF9maWxlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgJ2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLm1tJywKKyAgICAgICAgICAgICAgICAgICAgJ2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLmgnLAorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICB9XSwgICAgICAgICAgICAKICAgICAgICAgXSwKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0KaW5kZXggNTNlZGU1NjY2OWIy
ODQxODM5Mzc3NTY4NjYwMzdhZDAwODA4YmYyNi4uNTNhNWFjYTgwODQzYmQ1YWUyNGFiOTZhYzQ1
OGVlMzJmMDA3NjQ1NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbE1hYy5tbQpAQCAtMzEsOSArMzEsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lu
Y2x1ZGUgIlRlc3RTaGVsbC5oIgorI2luY2x1ZGUgIldlYlRoZW1lRW5naW5lRFJUTWFjLmgiCiAj
aW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbXBvcnQgPEFwcEtp
dC9BcHBLaXQuaD4KIAorLy8gVGhlbWUgZW5naW5lCitzdGF0aWMgV2ViVGhlbWVFbmdpbmVEUlRN
YWMgdGhlbWVFbmdpbmU7CisKIC8vIEEgY2xhc3MgdG8gYmUgdGhlIHRhcmdldC9zZWxlY3RvciBv
ZiB0aGUgIndhdGNoZG9nIiB0aHJlYWQgdGhhdCBlbnN1cmVzCiAvLyBwYWdlcyB0aW1lb3V0IGlm
IHRoZXkgdGFrZSB0b28gbG9uZyBhbmQgdGVsbHMgdGhlIHRlc3QgaGFybmVzcyB2aWEgc3Rkb3V0
LgogQGludGVyZmFjZSBXYXRjaERvZ1RhcmdldCA6IE5TT2JqZWN0IHsKQEAgLTEyNiw2ICsxMzAs
OCBAQCB2b2lkIFRlc3RTaGVsbDo6d2FpdFRlc3RGaW5pc2hlZCgpCiAKIHZvaWQgcGxhdGZvcm1J
bml0KGludCosIGNoYXIqKiopCiB7CisgICAgLy8gU2V0IHRoZW1lIGVuZ2luZS4KKyAgICB3ZWJr
aXRfc3VwcG9ydDo6U2V0VGhlbWVFbmdpbmUoJnRoZW1lRW5naW5lKTsKIH0KIAogdm9pZCBvcGVu
U3RhcnR1cERpYWxvZygpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlRNYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTllMjA3MWFiNDQwZGM3ZDEyZTY0
N2RkNDhiMDM5NGI4YmY3MzI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMuaApAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaW1wbGVt
ZW50cyB0aGUgV2ViVGhlbWVFbmdpbmUgQVBJIGluIHN1Y2ggYSB3YXkgdGhhdCB3ZSBtYXRjaCB0
aGUgTWFjCisvLyBwb3J0IHJlbmRlcmluZyBtb3JlIHRoYW4gdXN1YWwgQ2hyb21pdW0gcGF0aCwg
dGh1cyBhbGxvd2luZyB1cyB0byBzaGFyZQorLy8gbW9yZSBwaXhlbCBiYXNlbGluZXMuCisKKyNp
Zm5kZWYgV2ViVGhlbWVFbmdpbmVEUlRNYWNfaAorI2RlZmluZSBXZWJUaGVtZUVuZ2luZURSVE1h
Y19oCisKKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9XZWJLaXQvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9tYWMvV2ViVGhlbWVFbmdpbmUuaCIKKworY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlRNYWMgOiBw
dWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lk
IHBhaW50U2Nyb2xsYmFyVGh1bWIoCisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiwKKyAgICAg
ICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U3RhdGUsCisgICAgICAgIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlNpemUsCisgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYsCisgICAgICAg
IGNvbnN0IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mKTsKK3ByaXZhdGU6
CisgICAgdmlydHVhbCB2b2lkIHBhaW50SElUaGVtZVNjcm9sbGJhclRodW1iKAorICAgICAgICBX
ZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRl
LAorICAgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTaXplLAorICAgICAgICBjb25zdCBX
ZWJLaXQ6OldlYlJlY3QmLAorICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpT
Y3JvbGxiYXJJbmZvJik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50TlNTY3JvbGxlclNjcm9sbGJh
clRodW1iKAorICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICAgIFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmU6OlN0YXRlLAorICAgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTaXpl
LAorICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlJlY3QmLAorICAgICAgICBjb25zdCBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lOjpTY3JvbGxiYXJJbmZvJik7Cit9OworCisjZW5kaWYgLy8gV2ViVGhl
bWVFbmdpbmVEUlRNYWNfaApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGU5MzUwZGU2NTRlZmE4ZmQw
Yjg3YjYwNTBjOTRmMDI1YTU2MzgzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMubW0KQEAgLTAsMCArMSwxODMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiV2ViVGhlbWVFbmdpbmVEUlRNYWMuaCIKKworI2luY2x1ZGUgInRoaXJkX3BhcnR5
L1dlYktpdC9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNhbnZhcy5oIgorI2luY2x1ZGUgInRo
aXJkX3BhcnR5L1dlYktpdC9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJlY3QuaCIKKyNpbXBv
cnQgPEFwcEtpdC9OU0FmZmluZVRyYW5zZm9ybS5oPgorI2ltcG9ydCA8QXBwS2l0L05TR3JhcGhp
Y3NDb250ZXh0Lmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTY3JvbGxlci5oPgorI2ltcG9ydCA8QXBw
S2l0L05TV2luZG93Lmg+CisjaW5jbHVkZSA8Q2FyYm9uL0NhcmJvbi5oPgorCit1c2luZyBXZWJL
aXQ6OldlYkNhbnZhczsKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKK3VzaW5nIFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmU7CisKKy8vIFdlIGNhbid0IGRpcmVjdGx5IHRlbGwgdGhlIE5TU2Nyb2xsZXIg
dG8gZHJhdyBpdHNlbGYgYXMgYWN0aXZlIG9yIGluYWN0aXZlLAorLy8gaW5zdGVhZCB3ZSBoYXZl
IHRvIG1ha2UgaXQgYSBjaGlsZCBvZiBhbiAoaW4pYWN0aXZlIHdpbmRvdy4gVGhpcyBjbGFzcyBs
ZXRzCisvLyB1cyBmYWtlIHRoYXQgcGFyZW50IHdpbmRvdy4KK0BpbnRlcmZhY2UgRmFrZUFjdGl2
ZVdpbmRvdyA6IE5TV2luZG93IHsKK0Bwcml2YXRlCisgICAgQk9PTCBoYXNBY3RpdmVDb250cm9s
czsKK30KKysgKE5TV2luZG93KilhbHdheXNBY3RpdmVXaW5kb3c7CisrIChOU1dpbmRvdyopYWx3
YXlzSW5hY3RpdmVXaW5kb3c7CistIChpZClpbml0V2l0aEFjdGl2ZUNvbnRyb2xzOihCT09MKV9o
YXNBY3RpdmVDb250cm9sczsKKy0gKEJPT0wpX2hhc0FjdGl2ZUNvbnRyb2xzOworQGVuZAorCitA
aW1wbGVtZW50YXRpb24gRmFrZUFjdGl2ZVdpbmRvdworCitzdGF0aWMgTlNXaW5kb3cqIGFsd2F5
c0FjdGl2ZVdpbmRvdyA9IG5pbDsKK3N0YXRpYyBOU1dpbmRvdyogYWx3YXlzSW5hY3RpdmVXaW5k
b3cgPSBuaWw7CisKKysgKE5TV2luZG93KilhbHdheXNBY3RpdmVXaW5kb3cKK3sKKyAgICBpZiAo
YWx3YXlzQWN0aXZlV2luZG93ID09IG5pbCkgeworICAgICAgICBhbHdheXNBY3RpdmVXaW5kb3cg
PSBbW3NlbGYgYWxsb2NdIGluaXRXaXRoQWN0aXZlQ29udHJvbHM6WUVTXTsKKyAgICB9CisgICAg
cmV0dXJuIGFsd2F5c0FjdGl2ZVdpbmRvdzsKK30KKworKyAoTlNXaW5kb3cqKWFsd2F5c0luYWN0
aXZlV2luZG93Cit7CisgICAgaWYgKGFsd2F5c0luYWN0aXZlV2luZG93ID09IG5pbCkgeworICAg
ICAgICBhbHdheXNJbmFjdGl2ZVdpbmRvdyA9IFtbc2VsZiBhbGxvY10gaW5pdFdpdGhBY3RpdmVD
b250cm9sczpOT107CisgICAgfQorICAgIHJldHVybiBhbHdheXNJbmFjdGl2ZVdpbmRvdzsKK30K
KworLSAoaWQpaW5pdFdpdGhBY3RpdmVDb250cm9sczooQk9PTClfaGFzQWN0aXZlQ29udHJvbHMK
K3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIGhhc0FjdGl2ZUNvbnRyb2xzID0gX2hh
c0FjdGl2ZUNvbnRyb2xzOworICAgIHJldHVybiBzZWxmOworfQorCistIChCT09MKV9oYXNBY3Rp
dmVDb250cm9scyB7CisgIHJldHVybiBoYXNBY3RpdmVDb250cm9sczsKK30KKworQGVuZAorCit2
b2lkIFdlYlRoZW1lRW5naW5lRFJUTWFjOjpwYWludFNjcm9sbGJhclRodW1iKAorICAgIFdlYkNh
bnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0ZSBzdGF0ZSwKKyAgICBXZWJU
aGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJlY3QmIHJlY3QsCisgICAgY29u
c3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9sbGJhckluZm8pIHsKKyAgICAv
LyBUbyBtYXRjaCB0aGUgTWFjIHBvcnQsIHdlIHN0aWxsIHVzZSBISVRoZW1lIGZvciBpbm5lciBz
Y3JvbGxiYXJzLgorICAgIGlmIChzY3JvbGxiYXJJbmZvLnBhcmVudCA9PSBXZWJUaGVtZUVuZ2lu
ZTo6U2Nyb2xsYmFyUGFyZW50UmVuZGVyTGF5ZXIpCisgICAgICAgIHBhaW50SElUaGVtZVNjcm9s
bGJhclRodW1iKGNhbnZhcywgc3RhdGUsIHNpemUsIHJlY3QsIHNjcm9sbGJhckluZm8pOworICAg
IGVsc2UKKyAgICAgICAgcGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIoY2FudmFzLCBzdGF0
ZSwgc2l6ZSwgcmVjdCwgc2Nyb2xsYmFySW5mbyk7Cit9CisKK3N0YXRpYyBUaGVtZVRyYWNrRW5h
YmxlU3RhdGUgc3RhdGVUb0hJRW5hYmxlU3RhdGUoV2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0YXRl
KSB7CisgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIFdlYlRoZW1lRW5naW5lOjpTdGF0ZURp
c2FibGVkOgorICAgICAgcmV0dXJuIGtUaGVtZVRyYWNrRGlzYWJsZWQ7CisgICAgY2FzZSBXZWJU
aGVtZUVuZ2luZTo6U3RhdGVJbmFjdGl2ZToKKyAgICAgIHJldHVybiBrVGhlbWVUcmFja0luYWN0
aXZlOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4ga1RoZW1lVHJhY2tBY3RpdmU7CisgIH0K
K30KKworLy8gRHVwbGljYXRlZCBmcm9tIHdlYmtpdC9nbHVlL3dlYnRoZW1lZW5naW5lX2ltcGxf
bWFjLmNjIGluIHRoZSBkb3duc3RyZWFtCisvLyBDaHJvbWl1bSBXZWJUaGVtZUVuZ2luZSBpbXBs
ZW1lbnRhdGlvbi4KK3ZvaWQgV2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50SElUaGVtZVNjcm9s
bGJhclRodW1iKAorICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpT
dGF0ZSBzdGF0ZSwKKyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdl
YlJlY3QmIHJlY3QsCisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNj
cm9sbGJhckluZm8pIHsKKyAgICBISVRoZW1lVHJhY2tEcmF3SW5mbyB0cmFja0luZm87CisgICAg
dHJhY2tJbmZvLnZlcnNpb24gPSAwOworICAgIHRyYWNrSW5mby5raW5kID0gc2l6ZSA9PSBXZWJU
aGVtZUVuZ2luZTo6U2l6ZVJlZ3VsYXIgPyBrVGhlbWVNZWRpdW1TY3JvbGxCYXIgOiBrVGhlbWVT
bWFsbFNjcm9sbEJhcjsKKyAgICB0cmFja0luZm8uYm91bmRzID0gQ0dSZWN0TWFrZShyZWN0Lngs
IHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworICAgIHRyYWNrSW5mby5taW4gPSAw
OworICAgIHRyYWNrSW5mby5tYXggPSBzY3JvbGxiYXJJbmZvLm1heFZhbHVlOworICAgIHRyYWNr
SW5mby52YWx1ZSA9IHNjcm9sbGJhckluZm8uY3VycmVudFZhbHVlOworICAgIHRyYWNrSW5mby50
cmFja0luZm8uc2Nyb2xsYmFyLnZpZXdzaXplID0gc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZTsK
KyAgICB0cmFja0luZm8uYXR0cmlidXRlcyA9IDA7CisgICAgaWYgKHNjcm9sbGJhckluZm8ub3Jp
ZW50YXRpb24gPT0gV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhck9yaWVudGF0aW9uSG9yaXpvbnRh
bCkKKyAgICAgICAgdHJhY2tJbmZvLmF0dHJpYnV0ZXMgfD0ga1RoZW1lVHJhY2tIb3Jpem9udGFs
OworCisgICAgdHJhY2tJbmZvLmVuYWJsZVN0YXRlID0gc3RhdGVUb0hJRW5hYmxlU3RhdGUoc3Rh
dGUpOworCisgICAgdHJhY2tJbmZvLnRyYWNrSW5mby5zY3JvbGxiYXIucHJlc3NTdGF0ZSA9Cisg
ICAgICAgIHN0YXRlID09IFdlYlRoZW1lRW5naW5lOjpTdGF0ZVByZXNzZWQgPyBrVGhlbWVUaHVt
YlByZXNzZWQgOiAwOworICAgIHRyYWNrSW5mby5hdHRyaWJ1dGVzIHw9IChrVGhlbWVUcmFja1No
b3dUaHVtYiB8IGtUaGVtZVRyYWNrSGlkZVRyYWNrKTsKKyAgICBISVRoZW1lRHJhd1RyYWNrKCZ0
cmFja0luZm8sIDAsIGNhbnZhcywga0hJVGhlbWVPcmllbnRhdGlvbk5vcm1hbCk7Cit9CisKK3Zv
aWQgV2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50TlNTY3JvbGxlclNjcm9sbGJhclRodW1iKAor
ICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0ZSBzdGF0ZSwK
KyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJlY3QmIHJlY3Qs
CisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9sbGJhckluZm8p
IHsKKyAgICBOU1Njcm9sbGVyKiBzY3JvbGxlciA9IFtbTlNTY3JvbGxlciBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdo
dCldOworICAgIFtzY3JvbGxlciBzZXRFbmFibGVkOnN0YXRlICE9IFdlYlRoZW1lRW5naW5lOjpT
dGF0ZURpc2FibGVkXTsKKyAgICBpZiAoc3RhdGUgPT0gV2ViVGhlbWVFbmdpbmU6OlN0YXRlSW5h
Y3RpdmUpCisgICAgICAgIFtbW0Zha2VBY3RpdmVXaW5kb3cgYWx3YXlzSW5hY3RpdmVXaW5kb3dd
IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3OnNjcm9sbGVyXTsKKyAgICBlbHNlCisgICAgICAgIFtb
W0Zha2VBY3RpdmVXaW5kb3cgYWx3YXlzQWN0aXZlV2luZG93XSBjb250ZW50Vmlld10gYWRkU3Vi
dmlldzpzY3JvbGxlcl07CisKKyAgICBbc2Nyb2xsZXIgc2V0Q29udHJvbFNpemU6c2l6ZSA9PSBX
ZWJUaGVtZUVuZ2luZTo6U2l6ZVJlZ3VsYXIgPyBOU1JlZ3VsYXJDb250cm9sU2l6ZSA6IE5TU21h
bGxDb250cm9sU2l6ZV07CisKKyAgICBkb3VibGUgdmFsdWUgPSBkb3VibGUoc2Nyb2xsYmFySW5m
by5jdXJyZW50VmFsdWUpL2RvdWJsZShzY3JvbGxiYXJJbmZvLm1heFZhbHVlKTsKKyAgICBbc2Ny
b2xsZXIgc2V0RG91YmxlVmFsdWU6IHZhbHVlXTsKKworICAgIGZsb2F0IGtub2JQcm9wb3J0aW9u
ID0gZmxvYXQoc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZSkvZmxvYXQoc2Nyb2xsYmFySW5mby50
b3RhbFNpemUpOworICAgIFtzY3JvbGxlciBzZXRLbm9iUHJvcG9ydGlvbjoga25vYlByb3BvcnRp
b25dOworCisgICAgTlNHcmFwaGljc0NvbnRleHQqIHByZXZpb3VzR3JhcGhpY3NDb250ZXh0ID0g
W05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XTsKKyAgICBOU0dyYXBoaWNzQ29udGV4
dCogbnNHcmFwaGljc0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0
V2l0aEdyYXBoaWNzUG9ydDpjYW52YXMgZmxpcHBlZDpZRVNdOworICAgIFtOU0dyYXBoaWNzQ29u
dGV4dCBzZXRDdXJyZW50Q29udGV4dDpuc0dyYXBoaWNzQ29udGV4dF07CisKKyAgICAvLyBEZXNw
aXRlIHBhc3NpbmcgaW4gZnJhbWVSZWN0KCkgdG8gdGhlIHNjcm9sbGVyLCBpdCBhbHdheXMgZHJh
d3MgYXQgKDAsIDApLgorICAgIC8vIEZvcmNlIGl0IHRvIGRyYXcgaW4gdGhlIHJpZ2h0IGxvY2F0
aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSB3aG9sZSBncmFwaGljcworICAgIC8vIGNvbnRleHQuCisg
ICAgW25zR3JhcGhpY3NDb250ZXh0IHNhdmVHcmFwaGljc1N0YXRlXTsKKyAgICBOU0FmZmluZVRy
YW5zZm9ybSAqdHJhbnNmb3JtID0gW05TQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybV07CisgICAg
W3RyYW5zZm9ybSB0cmFuc2xhdGVYQnk6cmVjdC54IHlCeTpyZWN0LnldOworICAgIFt0cmFuc2Zv
cm0gY29uY2F0XTsKKworICAgIFtzY3JvbGxlciBkcmF3S25vYl07CisKKyAgICBbc2Nyb2xsZXIg
cmVsZWFzZV07CisKKyAgICBbbnNHcmFwaGljc0NvbnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVd
OworICAgIFtOU0dyYXBoaWNzQ29udGV4dCBzZXRDdXJyZW50Q29udGV4dDpwcmV2aW91c0dyYXBo
aWNzQ29udGV4dF07Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZjRjZTdjYjYzY2FiNjNmNDA0MmU1NWRm
YzBjNGI4NWE5MjAxMjZhLi41MWQ4ODYyZDhhMDY5MTZjYWExNmQ2YzFiNGZhMGJjOWY5NjY3YmUx
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMi0yOSAgTWloYWkgUGFycGFy
aXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBXZWJUaGVtZUVuZ2luZURSVE1hYyBz
byB0aGF0IENocm9taXVtIERSVCBzY3JvbGxiYXIgcmVuZGVyaW5nIGNhbiBtYXRjaCB0aGUgTWFj
IHBvcnQncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTE3MjgKKyAgICAgICAgCisgICAgICAgIFJvbGwgREVQUyB0byBwaWNrIHVwIFdlYlRoZW1lRW5n
aW5lIGNoYW5nZXMuCisKKyAgICAgICAgKiBERVBTOgorCiAyMDEwLTEyLTI5ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByNzQ3MzUuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vREVQUyBiL1dl
YktpdC9jaHJvbWl1bS9ERVBTCmluZGV4IDA5OTJmMzEzNGJhOTk4ZDhhMzk0MDgzYTQ2ZWRjYzFm
OTY1YjA4ZWMuLjVhOWE3NGNmYTZmNmRlZmI4N2MzNDEzOTkwZDk1OWMxZTBkYzg5ODAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9ERVBTCisrKyBiL1dlYktpdC9jaHJvbWl1bS9ERVBTCkBA
IC0zMiw3ICszMiw3IEBACiAKIHZhcnMgPSB7CiAgICdjaHJvbWl1bV9zdm4nOiAnaHR0cDovL3Ny
Yy5jaHJvbWl1bS5vcmcvc3ZuL3RydW5rL3NyYycsCi0gICdjaHJvbWl1bV9yZXYnOiAnNjg1NTgn
CisgICdjaHJvbWl1bV9yZXYnOiAnNzAyNzgnCiB9CiAKIGRlcHMgPSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77693</attachid>
            <date>2010-12-30 12:03:46 -0800</date>
            <delta_ts>2010-12-30 19:42:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51728-20101230120345.patch</filename>
            <type>text/plain</type>
            <size>14692</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NGU3
ZmRjYmY3ZWE5NDMzNDU0MGM2ZWEzM2VjYTRhZGFhMTFlZjVhLi4yNTkwNWRhMDlmNmI0ZDQyODNm
ZmEwZDAyNWIxZDhiY2MzZDUwYTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMTItMjkgIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgV2ViVGhlbWVFbmdpbmVEUlRNYWMg
c28gdGhhdCBDaHJvbWl1bSBEUlQgc2Nyb2xsYmFyIHJlbmRlcmluZyBjYW4gbWF0Y2ggdGhlIE1h
YyBwb3J0J3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUxNzI4CisgICAgICAgIAorICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1hYyBX
ZWJUaGVtZUVuZ2luZSB0aGF0IHVzZXMgYW4gTlNTY3JvbGxlcgorICAgICAgICB0byByZW5kZXIg
dG9wLWxldmVsIHNjcm9sbGJhcnMuIFRoaXMgbWFrZXMgdGhlbSBtYXRjaCB0aGUgTWFjIHBvcnQn
cworICAgICAgICB1c2Ugb2YgYW4gTlNTY3JvbGxWaWV3LCB3aGljaCBtZWFucyB0aGF0IHdlJ2xs
IGJlIGFibGUgdG8gc2hhcmUgbW9yZQorICAgICAgICBwaXhlbCBiYXNlbGluZXMuCisgICAgICAg
IAorICAgICAgICBUaGUgbmV3IHJlbmRlcmluZyBjb2RlIHdpbGwgbm90IGJlIGFjdGl2YXRlZCB1
bnRpbCB0aGUgCisgICAgICAgIFVTRV9XRUJfVEhFTUVfRU5HSU5FX1RPX1BBSU5UX1RIVU1CICNk
ZWZpbmUgaXMgZmxpcGVkIGluCisgICAgICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbE1hYy5tbToKKyAgICAgICAgKHBsYXRm
b3JtSW5pdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdp
bmVEUlRNYWMuaDogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
VGhlbWVFbmdpbmVEUlRNYWMubW06IEFkZGVkLgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93
IGFsd2F5c0FjdGl2ZVdpbmRvd10pOgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93IGFsd2F5
c0luYWN0aXZlV2luZG93XSk6CisgICAgICAgICgtW0Zha2VBY3RpdmVXaW5kb3cgaW5pdFdpdGhB
Y3RpdmVDb250cm9sczpdKToKKyAgICAgICAgKC1bRmFrZUFjdGl2ZVdpbmRvdyBfaGFzQWN0aXZl
Q29udHJvbHNdKToKKyAgICAgICAgKFdlYlRoZW1lRW5naW5lRFJUTWFjOjpwYWludFNjcm9sbGJh
clRodW1iKToKKyAgICAgICAgKHN0YXRlVG9ISUVuYWJsZVN0YXRlKToKKyAgICAgICAgKFdlYlRo
ZW1lRW5naW5lRFJUTWFjOjpwYWludEhJVGhlbWVTY3JvbGxiYXJUaHVtYik6CisgICAgICAgIChX
ZWJUaGVtZUVuZ2luZURSVE1hYzo6cGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIpOgorCiAy
MDEwLTEyLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5k
ZXJUcmVlLmd5cGkKaW5kZXggMDRjYWVlN2Y4YjdhYWYzMTI0NjQ5Zjc3YmY4ZWVjNmE5MDZhZDgw
NS4uYjdkZTU4MDYwNzA5OTU2YzBhZGMyNDc1NmVjOWRkMTFkNmY1M2IyOSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCkBAIC02Nyw2ICs2NywxMiBAQAogICAgICAg
ICAgICAgICAgICAgICAnY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaCcsCiAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgWydPUz09Im1hYyInLCB7
CisgICAgICAgICAgICAgICAgJ2RydF9maWxlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgJ2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLm1tJywKKyAgICAgICAgICAgICAgICAgICAgJ2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLmgnLAorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICB9XSwgICAgICAgICAgICAKICAgICAgICAgXSwKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0KaW5kZXggNTNlZGU1NjY2OWIy
ODQxODM5Mzc3NTY4NjYwMzdhZDAwODA4YmYyNi4uNTNhNWFjYTgwODQzYmQ1YWUyNGFiOTZhYzQ1
OGVlMzJmMDA3NjQ1NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbE1hYy5tbQpAQCAtMzEsOSArMzEsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lu
Y2x1ZGUgIlRlc3RTaGVsbC5oIgorI2luY2x1ZGUgIldlYlRoZW1lRW5naW5lRFJUTWFjLmgiCiAj
aW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbXBvcnQgPEFwcEtp
dC9BcHBLaXQuaD4KIAorLy8gVGhlbWUgZW5naW5lCitzdGF0aWMgV2ViVGhlbWVFbmdpbmVEUlRN
YWMgdGhlbWVFbmdpbmU7CisKIC8vIEEgY2xhc3MgdG8gYmUgdGhlIHRhcmdldC9zZWxlY3RvciBv
ZiB0aGUgIndhdGNoZG9nIiB0aHJlYWQgdGhhdCBlbnN1cmVzCiAvLyBwYWdlcyB0aW1lb3V0IGlm
IHRoZXkgdGFrZSB0b28gbG9uZyBhbmQgdGVsbHMgdGhlIHRlc3QgaGFybmVzcyB2aWEgc3Rkb3V0
LgogQGludGVyZmFjZSBXYXRjaERvZ1RhcmdldCA6IE5TT2JqZWN0IHsKQEAgLTEyNiw2ICsxMzAs
OCBAQCB2b2lkIFRlc3RTaGVsbDo6d2FpdFRlc3RGaW5pc2hlZCgpCiAKIHZvaWQgcGxhdGZvcm1J
bml0KGludCosIGNoYXIqKiopCiB7CisgICAgLy8gU2V0IHRoZW1lIGVuZ2luZS4KKyAgICB3ZWJr
aXRfc3VwcG9ydDo6U2V0VGhlbWVFbmdpbmUoJnRoZW1lRW5naW5lKTsKIH0KIAogdm9pZCBvcGVu
U3RhcnR1cERpYWxvZygpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlRNYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTllMjA3MWFiNDQwZGM3ZDEyZTY0
N2RkNDhiMDM5NGI4YmY3MzI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMuaApAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaW1wbGVt
ZW50cyB0aGUgV2ViVGhlbWVFbmdpbmUgQVBJIGluIHN1Y2ggYSB3YXkgdGhhdCB3ZSBtYXRjaCB0
aGUgTWFjCisvLyBwb3J0IHJlbmRlcmluZyBtb3JlIHRoYW4gdXN1YWwgQ2hyb21pdW0gcGF0aCwg
dGh1cyBhbGxvd2luZyB1cyB0byBzaGFyZQorLy8gbW9yZSBwaXhlbCBiYXNlbGluZXMuCisKKyNp
Zm5kZWYgV2ViVGhlbWVFbmdpbmVEUlRNYWNfaAorI2RlZmluZSBXZWJUaGVtZUVuZ2luZURSVE1h
Y19oCisKKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9XZWJLaXQvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9tYWMvV2ViVGhlbWVFbmdpbmUuaCIKKworY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlRNYWMgOiBw
dWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lk
IHBhaW50U2Nyb2xsYmFyVGh1bWIoCisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiwKKyAgICAg
ICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U3RhdGUsCisgICAgICAgIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlNpemUsCisgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYsCisgICAgICAg
IGNvbnN0IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mKTsKK3ByaXZhdGU6
CisgICAgdmlydHVhbCB2b2lkIHBhaW50SElUaGVtZVNjcm9sbGJhclRodW1iKAorICAgICAgICBX
ZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRl
LAorICAgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTaXplLAorICAgICAgICBjb25zdCBX
ZWJLaXQ6OldlYlJlY3QmLAorICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpT
Y3JvbGxiYXJJbmZvJik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50TlNTY3JvbGxlclNjcm9sbGJh
clRodW1iKAorICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyosCisgICAgICAgIFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmU6OlN0YXRlLAorICAgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTaXpl
LAorICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlJlY3QmLAorICAgICAgICBjb25zdCBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lOjpTY3JvbGxiYXJJbmZvJik7Cit9OworCisjZW5kaWYgLy8gV2ViVGhl
bWVFbmdpbmVEUlRNYWNfaApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGU5MzUwZGU2NTRlZmE4ZmQw
Yjg3YjYwNTBjOTRmMDI1YTU2MzgzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRNYWMubW0KQEAgLTAsMCArMSwxODMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiV2ViVGhlbWVFbmdpbmVEUlRNYWMuaCIKKworI2luY2x1ZGUgInRoaXJkX3BhcnR5
L1dlYktpdC9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNhbnZhcy5oIgorI2luY2x1ZGUgInRo
aXJkX3BhcnR5L1dlYktpdC9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJlY3QuaCIKKyNpbXBv
cnQgPEFwcEtpdC9OU0FmZmluZVRyYW5zZm9ybS5oPgorI2ltcG9ydCA8QXBwS2l0L05TR3JhcGhp
Y3NDb250ZXh0Lmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTY3JvbGxlci5oPgorI2ltcG9ydCA8QXBw
S2l0L05TV2luZG93Lmg+CisjaW5jbHVkZSA8Q2FyYm9uL0NhcmJvbi5oPgorCit1c2luZyBXZWJL
aXQ6OldlYkNhbnZhczsKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKK3VzaW5nIFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmU7CisKKy8vIFdlIGNhbid0IGRpcmVjdGx5IHRlbGwgdGhlIE5TU2Nyb2xsZXIg
dG8gZHJhdyBpdHNlbGYgYXMgYWN0aXZlIG9yIGluYWN0aXZlLAorLy8gaW5zdGVhZCB3ZSBoYXZl
IHRvIG1ha2UgaXQgYSBjaGlsZCBvZiBhbiAoaW4pYWN0aXZlIHdpbmRvdy4gVGhpcyBjbGFzcyBs
ZXRzCisvLyB1cyBmYWtlIHRoYXQgcGFyZW50IHdpbmRvdy4KK0BpbnRlcmZhY2UgRmFrZUFjdGl2
ZVdpbmRvdyA6IE5TV2luZG93IHsKK0Bwcml2YXRlCisgICAgQk9PTCBoYXNBY3RpdmVDb250cm9s
czsKK30KKysgKE5TV2luZG93KilhbHdheXNBY3RpdmVXaW5kb3c7CisrIChOU1dpbmRvdyopYWx3
YXlzSW5hY3RpdmVXaW5kb3c7CistIChpZClpbml0V2l0aEFjdGl2ZUNvbnRyb2xzOihCT09MKV9o
YXNBY3RpdmVDb250cm9sczsKKy0gKEJPT0wpX2hhc0FjdGl2ZUNvbnRyb2xzOworQGVuZAorCitA
aW1wbGVtZW50YXRpb24gRmFrZUFjdGl2ZVdpbmRvdworCitzdGF0aWMgTlNXaW5kb3cqIGFsd2F5
c0FjdGl2ZVdpbmRvdyA9IG5pbDsKK3N0YXRpYyBOU1dpbmRvdyogYWx3YXlzSW5hY3RpdmVXaW5k
b3cgPSBuaWw7CisKKysgKE5TV2luZG93KilhbHdheXNBY3RpdmVXaW5kb3cKK3sKKyAgICBpZiAo
YWx3YXlzQWN0aXZlV2luZG93ID09IG5pbCkgeworICAgICAgICBhbHdheXNBY3RpdmVXaW5kb3cg
PSBbW3NlbGYgYWxsb2NdIGluaXRXaXRoQWN0aXZlQ29udHJvbHM6WUVTXTsKKyAgICB9CisgICAg
cmV0dXJuIGFsd2F5c0FjdGl2ZVdpbmRvdzsKK30KKworKyAoTlNXaW5kb3cqKWFsd2F5c0luYWN0
aXZlV2luZG93Cit7CisgICAgaWYgKGFsd2F5c0luYWN0aXZlV2luZG93ID09IG5pbCkgeworICAg
ICAgICBhbHdheXNJbmFjdGl2ZVdpbmRvdyA9IFtbc2VsZiBhbGxvY10gaW5pdFdpdGhBY3RpdmVD
b250cm9sczpOT107CisgICAgfQorICAgIHJldHVybiBhbHdheXNJbmFjdGl2ZVdpbmRvdzsKK30K
KworLSAoaWQpaW5pdFdpdGhBY3RpdmVDb250cm9sczooQk9PTClfaGFzQWN0aXZlQ29udHJvbHMK
K3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIGhhc0FjdGl2ZUNvbnRyb2xzID0gX2hh
c0FjdGl2ZUNvbnRyb2xzOworICAgIHJldHVybiBzZWxmOworfQorCistIChCT09MKV9oYXNBY3Rp
dmVDb250cm9scyB7CisgIHJldHVybiBoYXNBY3RpdmVDb250cm9sczsKK30KKworQGVuZAorCit2
b2lkIFdlYlRoZW1lRW5naW5lRFJUTWFjOjpwYWludFNjcm9sbGJhclRodW1iKAorICAgIFdlYkNh
bnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0ZSBzdGF0ZSwKKyAgICBXZWJU
aGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJlY3QmIHJlY3QsCisgICAgY29u
c3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9sbGJhckluZm8pIHsKKyAgICAv
LyBUbyBtYXRjaCB0aGUgTWFjIHBvcnQsIHdlIHN0aWxsIHVzZSBISVRoZW1lIGZvciBpbm5lciBz
Y3JvbGxiYXJzLgorICAgIGlmIChzY3JvbGxiYXJJbmZvLnBhcmVudCA9PSBXZWJUaGVtZUVuZ2lu
ZTo6U2Nyb2xsYmFyUGFyZW50UmVuZGVyTGF5ZXIpCisgICAgICAgIHBhaW50SElUaGVtZVNjcm9s
bGJhclRodW1iKGNhbnZhcywgc3RhdGUsIHNpemUsIHJlY3QsIHNjcm9sbGJhckluZm8pOworICAg
IGVsc2UKKyAgICAgICAgcGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIoY2FudmFzLCBzdGF0
ZSwgc2l6ZSwgcmVjdCwgc2Nyb2xsYmFySW5mbyk7Cit9CisKK3N0YXRpYyBUaGVtZVRyYWNrRW5h
YmxlU3RhdGUgc3RhdGVUb0hJRW5hYmxlU3RhdGUoV2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0YXRl
KSB7CisgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIFdlYlRoZW1lRW5naW5lOjpTdGF0ZURp
c2FibGVkOgorICAgICAgcmV0dXJuIGtUaGVtZVRyYWNrRGlzYWJsZWQ7CisgICAgY2FzZSBXZWJU
aGVtZUVuZ2luZTo6U3RhdGVJbmFjdGl2ZToKKyAgICAgIHJldHVybiBrVGhlbWVUcmFja0luYWN0
aXZlOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4ga1RoZW1lVHJhY2tBY3RpdmU7CisgIH0K
K30KKworLy8gRHVwbGljYXRlZCBmcm9tIHdlYmtpdC9nbHVlL3dlYnRoZW1lZW5naW5lX2ltcGxf
bWFjLmNjIGluIHRoZSBkb3duc3RyZWFtCisvLyBDaHJvbWl1bSBXZWJUaGVtZUVuZ2luZSBpbXBs
ZW1lbnRhdGlvbi4KK3ZvaWQgV2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50SElUaGVtZVNjcm9s
bGJhclRodW1iKAorICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpT
dGF0ZSBzdGF0ZSwKKyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdl
YlJlY3QmIHJlY3QsCisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNj
cm9sbGJhckluZm8pIHsKKyAgICBISVRoZW1lVHJhY2tEcmF3SW5mbyB0cmFja0luZm87CisgICAg
dHJhY2tJbmZvLnZlcnNpb24gPSAwOworICAgIHRyYWNrSW5mby5raW5kID0gc2l6ZSA9PSBXZWJU
aGVtZUVuZ2luZTo6U2l6ZVJlZ3VsYXIgPyBrVGhlbWVNZWRpdW1TY3JvbGxCYXIgOiBrVGhlbWVT
bWFsbFNjcm9sbEJhcjsKKyAgICB0cmFja0luZm8uYm91bmRzID0gQ0dSZWN0TWFrZShyZWN0Lngs
IHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworICAgIHRyYWNrSW5mby5taW4gPSAw
OworICAgIHRyYWNrSW5mby5tYXggPSBzY3JvbGxiYXJJbmZvLm1heFZhbHVlOworICAgIHRyYWNr
SW5mby52YWx1ZSA9IHNjcm9sbGJhckluZm8uY3VycmVudFZhbHVlOworICAgIHRyYWNrSW5mby50
cmFja0luZm8uc2Nyb2xsYmFyLnZpZXdzaXplID0gc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZTsK
KyAgICB0cmFja0luZm8uYXR0cmlidXRlcyA9IDA7CisgICAgaWYgKHNjcm9sbGJhckluZm8ub3Jp
ZW50YXRpb24gPT0gV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhck9yaWVudGF0aW9uSG9yaXpvbnRh
bCkKKyAgICAgICAgdHJhY2tJbmZvLmF0dHJpYnV0ZXMgfD0ga1RoZW1lVHJhY2tIb3Jpem9udGFs
OworCisgICAgdHJhY2tJbmZvLmVuYWJsZVN0YXRlID0gc3RhdGVUb0hJRW5hYmxlU3RhdGUoc3Rh
dGUpOworCisgICAgdHJhY2tJbmZvLnRyYWNrSW5mby5zY3JvbGxiYXIucHJlc3NTdGF0ZSA9Cisg
ICAgICAgIHN0YXRlID09IFdlYlRoZW1lRW5naW5lOjpTdGF0ZVByZXNzZWQgPyBrVGhlbWVUaHVt
YlByZXNzZWQgOiAwOworICAgIHRyYWNrSW5mby5hdHRyaWJ1dGVzIHw9IChrVGhlbWVUcmFja1No
b3dUaHVtYiB8IGtUaGVtZVRyYWNrSGlkZVRyYWNrKTsKKyAgICBISVRoZW1lRHJhd1RyYWNrKCZ0
cmFja0luZm8sIDAsIGNhbnZhcywga0hJVGhlbWVPcmllbnRhdGlvbk5vcm1hbCk7Cit9CisKK3Zv
aWQgV2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50TlNTY3JvbGxlclNjcm9sbGJhclRodW1iKAor
ICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0ZSBzdGF0ZSwK
KyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJlY3QmIHJlY3Qs
CisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9sbGJhckluZm8p
IHsKKyAgICBOU1Njcm9sbGVyKiBzY3JvbGxlciA9IFtbTlNTY3JvbGxlciBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdo
dCldOworICAgIFtzY3JvbGxlciBzZXRFbmFibGVkOnN0YXRlICE9IFdlYlRoZW1lRW5naW5lOjpT
dGF0ZURpc2FibGVkXTsKKyAgICBpZiAoc3RhdGUgPT0gV2ViVGhlbWVFbmdpbmU6OlN0YXRlSW5h
Y3RpdmUpCisgICAgICAgIFtbW0Zha2VBY3RpdmVXaW5kb3cgYWx3YXlzSW5hY3RpdmVXaW5kb3dd
IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3OnNjcm9sbGVyXTsKKyAgICBlbHNlCisgICAgICAgIFtb
W0Zha2VBY3RpdmVXaW5kb3cgYWx3YXlzQWN0aXZlV2luZG93XSBjb250ZW50Vmlld10gYWRkU3Vi
dmlldzpzY3JvbGxlcl07CisKKyAgICBbc2Nyb2xsZXIgc2V0Q29udHJvbFNpemU6c2l6ZSA9PSBX
ZWJUaGVtZUVuZ2luZTo6U2l6ZVJlZ3VsYXIgPyBOU1JlZ3VsYXJDb250cm9sU2l6ZSA6IE5TU21h
bGxDb250cm9sU2l6ZV07CisKKyAgICBkb3VibGUgdmFsdWUgPSBkb3VibGUoc2Nyb2xsYmFySW5m
by5jdXJyZW50VmFsdWUpL2RvdWJsZShzY3JvbGxiYXJJbmZvLm1heFZhbHVlKTsKKyAgICBbc2Ny
b2xsZXIgc2V0RG91YmxlVmFsdWU6IHZhbHVlXTsKKworICAgIGZsb2F0IGtub2JQcm9wb3J0aW9u
ID0gZmxvYXQoc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZSkvZmxvYXQoc2Nyb2xsYmFySW5mby50
b3RhbFNpemUpOworICAgIFtzY3JvbGxlciBzZXRLbm9iUHJvcG9ydGlvbjoga25vYlByb3BvcnRp
b25dOworCisgICAgTlNHcmFwaGljc0NvbnRleHQqIHByZXZpb3VzR3JhcGhpY3NDb250ZXh0ID0g
W05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XTsKKyAgICBOU0dyYXBoaWNzQ29udGV4
dCogbnNHcmFwaGljc0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0
V2l0aEdyYXBoaWNzUG9ydDpjYW52YXMgZmxpcHBlZDpZRVNdOworICAgIFtOU0dyYXBoaWNzQ29u
dGV4dCBzZXRDdXJyZW50Q29udGV4dDpuc0dyYXBoaWNzQ29udGV4dF07CisKKyAgICAvLyBEZXNw
aXRlIHBhc3NpbmcgaW4gZnJhbWVSZWN0KCkgdG8gdGhlIHNjcm9sbGVyLCBpdCBhbHdheXMgZHJh
d3MgYXQgKDAsIDApLgorICAgIC8vIEZvcmNlIGl0IHRvIGRyYXcgaW4gdGhlIHJpZ2h0IGxvY2F0
aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSB3aG9sZSBncmFwaGljcworICAgIC8vIGNvbnRleHQuCisg
ICAgW25zR3JhcGhpY3NDb250ZXh0IHNhdmVHcmFwaGljc1N0YXRlXTsKKyAgICBOU0FmZmluZVRy
YW5zZm9ybSAqdHJhbnNmb3JtID0gW05TQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybV07CisgICAg
W3RyYW5zZm9ybSB0cmFuc2xhdGVYQnk6cmVjdC54IHlCeTpyZWN0LnldOworICAgIFt0cmFuc2Zv
cm0gY29uY2F0XTsKKworICAgIFtzY3JvbGxlciBkcmF3S25vYl07CisKKyAgICBbc2Nyb2xsZXIg
cmVsZWFzZV07CisKKyAgICBbbnNHcmFwaGljc0NvbnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVd
OworICAgIFtOU0dyYXBoaWNzQ29udGV4dCBzZXRDdXJyZW50Q29udGV4dDpwcmV2aW91c0dyYXBo
aWNzQ29udGV4dF07Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZjRjZTdjYjYzY2FiNjNmNDA0MmU1NWRm
YzBjNGI4NWE5MjAxMjZhLi41MWQ4ODYyZDhhMDY5MTZjYWExNmQ2YzFiNGZhMGJjOWY5NjY3YmUx
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMi0yOSAgTWloYWkgUGFycGFy
aXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBXZWJUaGVtZUVuZ2luZURSVE1hYyBz
byB0aGF0IENocm9taXVtIERSVCBzY3JvbGxiYXIgcmVuZGVyaW5nIGNhbiBtYXRjaCB0aGUgTWFj
IHBvcnQncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTE3MjgKKyAgICAgICAgCisgICAgICAgIFJvbGwgREVQUyB0byBwaWNrIHVwIFdlYlRoZW1lRW5n
aW5lIGNoYW5nZXMuCisKKyAgICAgICAgKiBERVBTOgorCiAyMDEwLTEyLTI5ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByNzQ3MzUuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vREVQUyBiL1dl
YktpdC9jaHJvbWl1bS9ERVBTCmluZGV4IDA5OTJmMzEzNGJhOTk4ZDhhMzk0MDgzYTQ2ZWRjYzFm
OTY1YjA4ZWMuLjNkOTFjMGI3YjVlMGY2ZTdlMzE5NjlmODI1MTE2MTdlOGFjNjE4NDEgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9ERVBTCisrKyBiL1dlYktpdC9jaHJvbWl1bS9ERVBTCkBA
IC0zMiw3ICszMiw3IEBACiAKIHZhcnMgPSB7CiAgICdjaHJvbWl1bV9zdm4nOiAnaHR0cDovL3Ny
Yy5jaHJvbWl1bS5vcmcvc3ZuL3RydW5rL3NyYycsCi0gICdjaHJvbWl1bV9yZXYnOiAnNjg1NTgn
CisgICdjaHJvbWl1bV9yZXYnOiAnNzAzMTknCiB9CiAKIGRlcHMgPSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77701</attachid>
            <date>2010-12-30 19:42:24 -0800</date>
            <delta_ts>2010-12-30 20:02:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-51728-20101230194223.patch</filename>
            <type>text/plain</type>
            <size>14646</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NGU3
ZmRjYmY3ZWE5NDMzNDU0MGM2ZWEzM2VjYTRhZGFhMTFlZjVhLi5mOTliMWVkZGJiZTE2NTUwM2Qx
MmViYjI3Y2U5ZmJmMDU0OTMwYWRkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMTItMjkgIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBU
YW11cmEuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgV2ViVGhlbWVFbmdpbmVEUlRNYWMgc28g
dGhhdCBDaHJvbWl1bSBEUlQgc2Nyb2xsYmFyIHJlbmRlcmluZyBjYW4gbWF0Y2ggdGhlIE1hYyBw
b3J0J3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUx
NzI4CisgICAgICAgIAorICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1hYyBXZWJU
aGVtZUVuZ2luZSB0aGF0IHVzZXMgYW4gTlNTY3JvbGxlcgorICAgICAgICB0byByZW5kZXIgdG9w
LWxldmVsIHNjcm9sbGJhcnMuIFRoaXMgbWFrZXMgdGhlbSBtYXRjaCB0aGUgTWFjIHBvcnQncwor
ICAgICAgICB1c2Ugb2YgYW4gTlNTY3JvbGxWaWV3LCB3aGljaCBtZWFucyB0aGF0IHdlJ2xsIGJl
IGFibGUgdG8gc2hhcmUgbW9yZQorICAgICAgICBwaXhlbCBiYXNlbGluZXMuCisgICAgICAgIAor
ICAgICAgICBUaGUgbmV3IHJlbmRlcmluZyBjb2RlIHdpbGwgbm90IGJlIGFjdGl2YXRlZCB1bnRp
bCB0aGUgCisgICAgICAgIFVTRV9XRUJfVEhFTUVfRU5HSU5FX1RPX1BBSU5UX1RIVU1CICNkZWZp
bmUgaXMgZmxpcGVkIGluCisgICAgICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbE1hYy5tbToKKyAgICAgICAgKHBsYXRmb3Jt
SW5pdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVE
UlRNYWMuaDogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVFbmdpbmVEUlRNYWMubW06IEFkZGVkLgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93IGFs
d2F5c0FjdGl2ZVdpbmRvd10pOgorICAgICAgICAoK1tGYWtlQWN0aXZlV2luZG93IGFsd2F5c0lu
YWN0aXZlV2luZG93XSk6CisgICAgICAgICgtW0Zha2VBY3RpdmVXaW5kb3cgaW5pdFdpdGhBY3Rp
dmVDb250cm9sczpdKToKKyAgICAgICAgKC1bRmFrZUFjdGl2ZVdpbmRvdyBfaGFzQWN0aXZlQ29u
dHJvbHNdKToKKyAgICAgICAgKFdlYlRoZW1lRW5naW5lRFJUTWFjOjpwYWludFNjcm9sbGJhclRo
dW1iKToKKyAgICAgICAgKHN0YXRlVG9ISUVuYWJsZVN0YXRlKToKKyAgICAgICAgKFdlYlRoZW1l
RW5naW5lRFJUTWFjOjpwYWludEhJVGhlbWVTY3JvbGxiYXJUaHVtYik6CisgICAgICAgIChXZWJU
aGVtZUVuZ2luZURSVE1hYzo6cGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIpOgorCiAyMDEw
LTEyLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvRHVtcFJlbmRlclRyZWUuZ3lwaSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLmd5cGkKaW5kZXggMDRjYWVlN2Y4YjdhYWYzMTI0NjQ5Zjc3YmY4ZWVjNmE5MDZhZDgwNS4u
YjdkZTU4MDYwNzA5OTU2YzBhZGMyNDc1NmVjOWRkMTFkNmY1M2IyOSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaQorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCkBAIC02Nyw2ICs2NywxMiBAQAogICAgICAgICAg
ICAgICAgICAgICAnY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaCcsCiAgICAgICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgWydPUz09Im1hYyInLCB7Cisg
ICAgICAgICAgICAgICAgJ2RydF9maWxlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgJ2Nocm9t
aXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLm1tJywKKyAgICAgICAgICAgICAgICAgICAgJ2Nocm9t
aXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLmgnLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICB9XSwgICAgICAgICAgICAKICAgICAgICAgXSwKICAgICB9CiB9CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0gYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxNYWMubW0KaW5kZXggNTNlZGU1NjY2OWIyODQx
ODM5Mzc3NTY4NjYwMzdhZDAwODA4YmYyNi4uZDc5YThjODM1NjdjZjFhN2Q1Y2FmNWQwOThlZjBh
ZDRjNGExNzVjNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bE1hYy5tbQpAQCAtMzEsOSArMzEsMTIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1
ZGUgIlRlc3RTaGVsbC5oIgorI2luY2x1ZGUgIldlYlRoZW1lRW5naW5lRFJUTWFjLmgiCiAjaW5j
bHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbXBvcnQgPEFwcEtpdC9B
cHBLaXQuaD4KIAorc3RhdGljIFdlYlRoZW1lRW5naW5lRFJUTWFjIHRoZW1lRW5naW5lOworCiAv
LyBBIGNsYXNzIHRvIGJlIHRoZSB0YXJnZXQvc2VsZWN0b3Igb2YgdGhlICJ3YXRjaGRvZyIgdGhy
ZWFkIHRoYXQgZW5zdXJlcwogLy8gcGFnZXMgdGltZW91dCBpZiB0aGV5IHRha2UgdG9vIGxvbmcg
YW5kIHRlbGxzIHRoZSB0ZXN0IGhhcm5lc3MgdmlhIHN0ZG91dC4KIEBpbnRlcmZhY2UgV2F0Y2hE
b2dUYXJnZXQgOiBOU09iamVjdCB7CkBAIC0xMjYsNiArMTI5LDcgQEAgdm9pZCBUZXN0U2hlbGw6
OndhaXRUZXN0RmluaXNoZWQoKQogCiB2b2lkIHBsYXRmb3JtSW5pdChpbnQqLCBjaGFyKioqKQog
eworICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRUaGVtZUVuZ2luZSgmdGhlbWVFbmdpbmUpOwogfQog
CiB2b2lkIG9wZW5TdGFydHVwRGlhbG9nKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1OWUyMDcxYWI0
NDBkYzdkMTJlNjQ3ZGQ0OGIwMzk0YjhiZjczMjcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8g
VGhpcyBpbXBsZW1lbnRzIHRoZSBXZWJUaGVtZUVuZ2luZSBBUEkgaW4gc3VjaCBhIHdheSB0aGF0
IHdlIG1hdGNoIHRoZSBNYWMKKy8vIHBvcnQgcmVuZGVyaW5nIG1vcmUgdGhhbiB1c3VhbCBDaHJv
bWl1bSBwYXRoLCB0aHVzIGFsbG93aW5nIHVzIHRvIHNoYXJlCisvLyBtb3JlIHBpeGVsIGJhc2Vs
aW5lcy4KKworI2lmbmRlZiBXZWJUaGVtZUVuZ2luZURSVE1hY19oCisjZGVmaW5lIFdlYlRoZW1l
RW5naW5lRFJUTWFjX2gKKworI2luY2x1ZGUgInRoaXJkX3BhcnR5L1dlYktpdC9XZWJLaXQvY2hy
b21pdW0vcHVibGljL21hYy9XZWJUaGVtZUVuZ2luZS5oIgorCitjbGFzcyBXZWJUaGVtZUVuZ2lu
ZURSVE1hYyA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRTY3JvbGxiYXJUaHVtYigKKyAgICAgICAgV2ViS2l0OjpXZWJDYW52
YXMqLAorICAgICAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTdGF0ZSwKKyAgICAgICAgV2Vi
S2l0OjpXZWJUaGVtZUVuZ2luZTo6U2l6ZSwKKyAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJSZWN0
JiwKKyAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U2Nyb2xsYmFySW5mbyYp
OworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRISVRoZW1lU2Nyb2xsYmFyVGh1bWIo
CisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiwKKyAgICAgICAgV2ViS2l0OjpXZWJUaGVtZUVu
Z2luZTo6U3RhdGUsCisgICAgICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNpemUsCisgICAg
ICAgIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYsCisgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlNjcm9sbGJhckluZm8mKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnROU1Njcm9s
bGVyU2Nyb2xsYmFyVGh1bWIoCisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiwKKyAgICAgICAg
V2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U3RhdGUsCisgICAgICAgIFdlYktpdDo6V2ViVGhlbWVF
bmdpbmU6OlNpemUsCisgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYsCisgICAgICAgIGNv
bnN0IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mKTsKK307CisKKyNlbmRp
ZiAvLyBXZWJUaGVtZUVuZ2luZURSVE1hY19oCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMzNhMzdi
Yjg1Nzc4OTE5ZjNlMDBmNzRmOTE5YzM2OTVlZDc0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVE1hYy5tbQpAQCAtMCww
ICsxLDE4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJXZWJUaGVtZUVuZ2luZURSVE1hYy5oIgorCisjaW5jbHVkZSAi
dGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FudmFzLmgiCisj
aW5jbHVkZSAidGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUmVj
dC5oIgorI2ltcG9ydCA8QXBwS2l0L05TQWZmaW5lVHJhbnNmb3JtLmg+CisjaW1wb3J0IDxBcHBL
aXQvTlNHcmFwaGljc0NvbnRleHQuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1Njcm9sbGVyLmg+Cisj
aW1wb3J0IDxBcHBLaXQvTlNXaW5kb3cuaD4KKyNpbmNsdWRlIDxDYXJib24vQ2FyYm9uLmg+CisK
K3VzaW5nIFdlYktpdDo6V2ViQ2FudmFzOwordXNpbmcgV2ViS2l0OjpXZWJSZWN0OwordXNpbmcg
V2ViS2l0OjpXZWJUaGVtZUVuZ2luZTsKKworLy8gV2UgY2FuJ3QgZGlyZWN0bHkgdGVsbCB0aGUg
TlNTY3JvbGxlciB0byBkcmF3IGl0c2VsZiBhcyBhY3RpdmUgb3IgaW5hY3RpdmUsCisvLyBpbnN0
ZWFkIHdlIGhhdmUgdG8gbWFrZSBpdCBhIGNoaWxkIG9mIGFuIChpbilhY3RpdmUgd2luZG93LiBU
aGlzIGNsYXNzIGxldHMKKy8vIHVzIGZha2UgdGhhdCBwYXJlbnQgd2luZG93LgorQGludGVyZmFj
ZSBGYWtlQWN0aXZlV2luZG93IDogTlNXaW5kb3cgeworQHByaXZhdGUKKyAgICBCT09MIGhhc0Fj
dGl2ZUNvbnRyb2xzOworfQorKyAoTlNXaW5kb3cqKWFsd2F5c0FjdGl2ZVdpbmRvdzsKKysgKE5T
V2luZG93KilhbHdheXNJbmFjdGl2ZVdpbmRvdzsKKy0gKGlkKWluaXRXaXRoQWN0aXZlQ29udHJv
bHM6KEJPT0wpX2hhc0FjdGl2ZUNvbnRyb2xzOworLSAoQk9PTClfaGFzQWN0aXZlQ29udHJvbHM7
CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBGYWtlQWN0aXZlV2luZG93CisKK3N0YXRpYyBOU1dp
bmRvdyogYWx3YXlzQWN0aXZlV2luZG93ID0gbmlsOworc3RhdGljIE5TV2luZG93KiBhbHdheXNJ
bmFjdGl2ZVdpbmRvdyA9IG5pbDsKKworKyAoTlNXaW5kb3cqKWFsd2F5c0FjdGl2ZVdpbmRvdwor
eworICAgIGlmIChhbHdheXNBY3RpdmVXaW5kb3cgPT0gbmlsKQorICAgICAgICBhbHdheXNBY3Rp
dmVXaW5kb3cgPSBbW3NlbGYgYWxsb2NdIGluaXRXaXRoQWN0aXZlQ29udHJvbHM6WUVTXTsKKyAg
ICByZXR1cm4gYWx3YXlzQWN0aXZlV2luZG93OworfQorCisrIChOU1dpbmRvdyopYWx3YXlzSW5h
Y3RpdmVXaW5kb3cKK3sKKyAgICBpZiAoYWx3YXlzSW5hY3RpdmVXaW5kb3cgPT0gbmlsKQorICAg
ICAgICBhbHdheXNJbmFjdGl2ZVdpbmRvdyA9IFtbc2VsZiBhbGxvY10gaW5pdFdpdGhBY3RpdmVD
b250cm9sczpOT107CisgICAgcmV0dXJuIGFsd2F5c0luYWN0aXZlV2luZG93OworfQorCistIChp
ZClpbml0V2l0aEFjdGl2ZUNvbnRyb2xzOihCT09MKV9oYXNBY3RpdmVDb250cm9scworeworICAg
IHNlbGYgPSBbc3VwZXIgaW5pdF07CisgICAgaGFzQWN0aXZlQ29udHJvbHMgPSBfaGFzQWN0aXZl
Q29udHJvbHM7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKEJPT0wpX2hhc0FjdGl2ZUNvbnRy
b2xzCit7CisgICAgcmV0dXJuIGhhc0FjdGl2ZUNvbnRyb2xzOworfQorCitAZW5kCisKK3ZvaWQg
V2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50U2Nyb2xsYmFyVGh1bWIoCisgICAgV2ViQ2FudmFz
KiBjYW52YXMsCisgICAgV2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0YXRlLAorICAgIFdlYlRoZW1l
RW5naW5lOjpTaXplIHNpemUsCisgICAgY29uc3QgV2ViUmVjdCYgcmVjdCwKKyAgICBjb25zdCBX
ZWJUaGVtZUVuZ2luZTo6U2Nyb2xsYmFySW5mbyYgc2Nyb2xsYmFySW5mbykKK3sKKyAgICAvLyBU
byBtYXRjaCB0aGUgTWFjIHBvcnQsIHdlIHN0aWxsIHVzZSBISVRoZW1lIGZvciBpbm5lciBzY3Jv
bGxiYXJzLgorICAgIGlmIChzY3JvbGxiYXJJbmZvLnBhcmVudCA9PSBXZWJUaGVtZUVuZ2luZTo6
U2Nyb2xsYmFyUGFyZW50UmVuZGVyTGF5ZXIpCisgICAgICAgIHBhaW50SElUaGVtZVNjcm9sbGJh
clRodW1iKGNhbnZhcywgc3RhdGUsIHNpemUsIHJlY3QsIHNjcm9sbGJhckluZm8pOworICAgIGVs
c2UKKyAgICAgICAgcGFpbnROU1Njcm9sbGVyU2Nyb2xsYmFyVGh1bWIoY2FudmFzLCBzdGF0ZSwg
c2l6ZSwgcmVjdCwgc2Nyb2xsYmFySW5mbyk7Cit9CisKK3N0YXRpYyBUaGVtZVRyYWNrRW5hYmxl
U3RhdGUgc3RhdGVUb0hJRW5hYmxlU3RhdGUoV2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0YXRlKQor
eworICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIFdlYlRoZW1lRW5naW5lOjpTdGF0ZURp
c2FibGVkOgorICAgICAgICByZXR1cm4ga1RoZW1lVHJhY2tEaXNhYmxlZDsKKyAgICBjYXNlIFdl
YlRoZW1lRW5naW5lOjpTdGF0ZUluYWN0aXZlOgorICAgICAgICByZXR1cm4ga1RoZW1lVHJhY2tJ
bmFjdGl2ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4ga1RoZW1lVHJhY2tBY3RpdmU7
CisgICAgfQorfQorCisvLyBEdXBsaWNhdGVkIGZyb20gd2Via2l0L2dsdWUvd2VidGhlbWVlbmdp
bmVfaW1wbF9tYWMuY2MgaW4gdGhlIGRvd25zdHJlYW0KKy8vIENocm9taXVtIFdlYlRoZW1lRW5n
aW5lIGltcGxlbWVudGF0aW9uLgordm9pZCBXZWJUaGVtZUVuZ2luZURSVE1hYzo6cGFpbnRISVRo
ZW1lU2Nyb2xsYmFyVGh1bWIoCisgICAgV2ViQ2FudmFzKiBjYW52YXMsCisgICAgV2ViVGhlbWVF
bmdpbmU6OlN0YXRlIHN0YXRlLAorICAgIFdlYlRoZW1lRW5naW5lOjpTaXplIHNpemUsCisgICAg
Y29uc3QgV2ViUmVjdCYgcmVjdCwKKyAgICBjb25zdCBXZWJUaGVtZUVuZ2luZTo6U2Nyb2xsYmFy
SW5mbyYgc2Nyb2xsYmFySW5mbykKK3sKKyAgICBISVRoZW1lVHJhY2tEcmF3SW5mbyB0cmFja0lu
Zm87CisgICAgdHJhY2tJbmZvLnZlcnNpb24gPSAwOworICAgIHRyYWNrSW5mby5raW5kID0gc2l6
ZSA9PSBXZWJUaGVtZUVuZ2luZTo6U2l6ZVJlZ3VsYXIgPyBrVGhlbWVNZWRpdW1TY3JvbGxCYXIg
OiBrVGhlbWVTbWFsbFNjcm9sbEJhcjsKKyAgICB0cmFja0luZm8uYm91bmRzID0gQ0dSZWN0TWFr
ZShyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworICAgIHRyYWNrSW5m
by5taW4gPSAwOworICAgIHRyYWNrSW5mby5tYXggPSBzY3JvbGxiYXJJbmZvLm1heFZhbHVlOwor
ICAgIHRyYWNrSW5mby52YWx1ZSA9IHNjcm9sbGJhckluZm8uY3VycmVudFZhbHVlOworICAgIHRy
YWNrSW5mby50cmFja0luZm8uc2Nyb2xsYmFyLnZpZXdzaXplID0gc2Nyb2xsYmFySW5mby52aXNp
YmxlU2l6ZTsKKyAgICB0cmFja0luZm8uYXR0cmlidXRlcyA9IDA7CisgICAgaWYgKHNjcm9sbGJh
ckluZm8ub3JpZW50YXRpb24gPT0gV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhck9yaWVudGF0aW9u
SG9yaXpvbnRhbCkKKyAgICAgICAgdHJhY2tJbmZvLmF0dHJpYnV0ZXMgfD0ga1RoZW1lVHJhY2tI
b3Jpem9udGFsOworCisgICAgdHJhY2tJbmZvLmVuYWJsZVN0YXRlID0gc3RhdGVUb0hJRW5hYmxl
U3RhdGUoc3RhdGUpOworCisgICAgdHJhY2tJbmZvLnRyYWNrSW5mby5zY3JvbGxiYXIucHJlc3NT
dGF0ZSA9CisgICAgICAgIHN0YXRlID09IFdlYlRoZW1lRW5naW5lOjpTdGF0ZVByZXNzZWQgPyBr
VGhlbWVUaHVtYlByZXNzZWQgOiAwOworICAgIHRyYWNrSW5mby5hdHRyaWJ1dGVzIHw9IChrVGhl
bWVUcmFja1Nob3dUaHVtYiB8IGtUaGVtZVRyYWNrSGlkZVRyYWNrKTsKKyAgICBISVRoZW1lRHJh
d1RyYWNrKCZ0cmFja0luZm8sIDAsIGNhbnZhcywga0hJVGhlbWVPcmllbnRhdGlvbk5vcm1hbCk7
Cit9CisKK3ZvaWQgV2ViVGhlbWVFbmdpbmVEUlRNYWM6OnBhaW50TlNTY3JvbGxlclNjcm9sbGJh
clRodW1iKAorICAgIFdlYkNhbnZhcyogY2FudmFzLAorICAgIFdlYlRoZW1lRW5naW5lOjpTdGF0
ZSBzdGF0ZSwKKyAgICBXZWJUaGVtZUVuZ2luZTo6U2l6ZSBzaXplLAorICAgIGNvbnN0IFdlYlJl
Y3QmIHJlY3QsCisgICAgY29uc3QgV2ViVGhlbWVFbmdpbmU6OlNjcm9sbGJhckluZm8mIHNjcm9s
bGJhckluZm8pCit7CisgICAgTlNTY3JvbGxlciogc2Nyb2xsZXIgPSBbW05TU2Nyb2xsZXIgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwg
cmVjdC5oZWlnaHQpXTsKKyAgICBbc2Nyb2xsZXIgc2V0RW5hYmxlZDpzdGF0ZSAhPSBXZWJUaGVt
ZUVuZ2luZTo6U3RhdGVEaXNhYmxlZF07CisgICAgaWYgKHN0YXRlID09IFdlYlRoZW1lRW5naW5l
OjpTdGF0ZUluYWN0aXZlKQorICAgICAgICBbW1tGYWtlQWN0aXZlV2luZG93IGFsd2F5c0luYWN0
aXZlV2luZG93XSBjb250ZW50Vmlld10gYWRkU3VidmlldzpzY3JvbGxlcl07CisgICAgZWxzZQor
ICAgICAgICBbW1tGYWtlQWN0aXZlV2luZG93IGFsd2F5c0FjdGl2ZVdpbmRvd10gY29udGVudFZp
ZXddIGFkZFN1YnZpZXc6c2Nyb2xsZXJdOworCisgICAgW3Njcm9sbGVyIHNldENvbnRyb2xTaXpl
OnNpemUgPT0gV2ViVGhlbWVFbmdpbmU6OlNpemVSZWd1bGFyID8gTlNSZWd1bGFyQ29udHJvbFNp
emUgOiBOU1NtYWxsQ29udHJvbFNpemVdOworCisgICAgZG91YmxlIHZhbHVlID0gZG91YmxlKHNj
cm9sbGJhckluZm8uY3VycmVudFZhbHVlKSAvIGRvdWJsZShzY3JvbGxiYXJJbmZvLm1heFZhbHVl
KTsKKyAgICBbc2Nyb2xsZXIgc2V0RG91YmxlVmFsdWU6IHZhbHVlXTsKKworICAgIGZsb2F0IGtu
b2JQcm9wb3J0aW9uID0gZmxvYXQoc2Nyb2xsYmFySW5mby52aXNpYmxlU2l6ZSkgLyBmbG9hdChz
Y3JvbGxiYXJJbmZvLnRvdGFsU2l6ZSk7CisgICAgW3Njcm9sbGVyIHNldEtub2JQcm9wb3J0aW9u
OiBrbm9iUHJvcG9ydGlvbl07CisKKyAgICBOU0dyYXBoaWNzQ29udGV4dCogcHJldmlvdXNHcmFw
aGljc0NvbnRleHQgPSBbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdOworICAgIE5T
R3JhcGhpY3NDb250ZXh0KiBuc0dyYXBoaWNzQ29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBn
cmFwaGljc0NvbnRleHRXaXRoR3JhcGhpY3NQb3J0OmNhbnZhcyBmbGlwcGVkOllFU107CisgICAg
W05TR3JhcGhpY3NDb250ZXh0IHNldEN1cnJlbnRDb250ZXh0Om5zR3JhcGhpY3NDb250ZXh0XTsK
KworICAgIC8vIERlc3BpdGUgcGFzc2luZyBpbiBmcmFtZVJlY3QoKSB0byB0aGUgc2Nyb2xsZXIs
IGl0IGFsd2F5cyBkcmF3cyBhdCAoMCwgMCkuCisgICAgLy8gRm9yY2UgaXQgdG8gZHJhdyBpbiB0
aGUgcmlnaHQgbG9jYXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIHdob2xlIGdyYXBoaWNzCisgICAg
Ly8gY29udGV4dC4KKyAgICBbbnNHcmFwaGljc0NvbnRleHQgc2F2ZUdyYXBoaWNzU3RhdGVdOwor
ICAgIE5TQWZmaW5lVHJhbnNmb3JtICp0cmFuc2Zvcm0gPSBbTlNBZmZpbmVUcmFuc2Zvcm0gdHJh
bnNmb3JtXTsKKyAgICBbdHJhbnNmb3JtIHRyYW5zbGF0ZVhCeTpyZWN0LnggeUJ5OnJlY3QueV07
CisgICAgW3RyYW5zZm9ybSBjb25jYXRdOworCisgICAgW3Njcm9sbGVyIGRyYXdLbm9iXTsKKwor
ICAgIFtzY3JvbGxlciByZWxlYXNlXTsKKworICAgIFtuc0dyYXBoaWNzQ29udGV4dCByZXN0b3Jl
R3JhcGhpY3NTdGF0ZV07CisgICAgW05TR3JhcGhpY3NDb250ZXh0IHNldEN1cnJlbnRDb250ZXh0
OnByZXZpb3VzR3JhcGhpY3NDb250ZXh0XTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGNmNGNlN2NiNjNj
YWI2M2Y0MDQyZTU1ZGZjMGM0Yjg1YTkyMDEyNmEuLmJhNzIzZTJjOWIyMDQyZmQzODI1MTA2YjI4
M2RlZDM2NzM4MTNmMWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTEyLTI5
ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IEtlbnQgVGFtdXJhLgorCisgICAgICAgIFtDaHJvbWl1bV0gQWRkIFdlYlRoZW1lRW5n
aW5lRFJUTWFjIHNvIHRoYXQgQ2hyb21pdW0gRFJUIHNjcm9sbGJhciByZW5kZXJpbmcgY2FuIG1h
dGNoIHRoZSBNYWMgcG9ydCdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01MTcyOAorICAgICAgICAKKyAgICAgICAgUm9sbCBERVBTIHRvIHBpY2sgdXAg
V2ViVGhlbWVFbmdpbmUgY2hhbmdlcy4KKworICAgICAgICAqIERFUFM6CisKIDIwMTAtMTItMjkg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDczNS4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9ERVBTIGIvV2ViS2l0L2Nocm9taXVtL0RFUFMKaW5kZXggMDk5MmYzMTM0YmE5OThkOGEzOTQw
ODNhNDZlZGNjMWY5NjViMDhlYy4uM2Q5MWMwYjdiNWUwZjZlN2UzMTk2OWY4MjUxMTYxN2U4YWM2
MTg0MSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0RFUFMKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL0RFUFMKQEAgLTMyLDcgKzMyLDcgQEAKIAogdmFycyA9IHsKICAgJ2Nocm9taXVtX3N2bic6
ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4vdHJ1bmsvc3JjJywKLSAgJ2Nocm9taXVtX3Jl
dic6ICc2ODU1OCcKKyAgJ2Nocm9taXVtX3Jldic6ICc3MDMxOScKIH0KIAogZGVwcyA9IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>