<?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>125967</bug_id>
          
          <creation_ts>2013-12-18 18:10:25 -0800</creation_ts>
          <short_desc>WebKit2 View Gestures: Move WebProcess-side geometry collection into its own class</short_desc>
          <delta_ts>2013-12-18 18:38:42 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>mkwst</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961213</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-18 18:10:25 -0800</bug_when>
    <thetext>When smart magnification is implemented, we&apos;re going to need a bit more code in the WebProcess dealing with retrieving geometry of elements and such.

Move the message from UIProcess-&gt;WebProcess to grab the visible content rect out of the DrawingArea and into ViewGestureGeometryCollector (new names HAPPILY accepted). This class will grow in the future, but for now it&apos;s just the one simple message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961214</commentid>
    <comment_count>1</comment_count>
      <attachid>219599</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-18 18:18:31 -0800</bug_when>
    <thetext>Created attachment 219599
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961216</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-18 18:20:06 -0800</bug_when>
    <thetext>Attachment 219599 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/DerivedSources.make&apos;, u&apos;Source/WebKit2/UIProcess/DrawingAreaProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm&apos;, u&apos;Source/WebKit2/UIProcess/mac/ViewGestureController.cpp&apos;, u&apos;Source/WebKit2/UIProcess/mac/ViewGestureController.h&apos;, u&apos;Source/WebKit2/UIProcess/mac/ViewGestureController.messages.in&apos;, u&apos;Source/WebKit2/WebKit2.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/DrawingArea.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.messages.in&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 11 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>961218</commentid>
    <comment_count>3</comment_count>
      <attachid>219599</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 18:22:33 -0800</bug_when>
    <thetext>Comment on attachment 219599
patch

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

&gt; Source/WebKit2/ChangeLog:45
&gt; +        it can be safely used from other member&apos;s constructors.

members&apos; ?

&gt; Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h:50
&gt; +

Extra newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961225</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-18 18:38:42 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/160818</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219599</attachid>
            <date>2013-12-18 18:18:31 -0800</date>
            <delta_ts>2013-12-18 18:22:33 -0800</delta_ts>
            <desc>patch</desc>
            <filename>gesture.diff</filename>
            <type>text/plain</type>
            <size>28261</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyYjVkMWJkLi4xNGUyM2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTMg
QEAKIDIwMTMtMTItMTggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
KyAgICAgICAgV2ViS2l0MiBWaWV3IEdlc3R1cmVzOiBNb3ZlIFdlYlByb2Nlc3Mtc2lkZSBnZW9t
ZXRyeSBjb2xsZWN0aW9uIGludG8gaXRzIG93biBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1OTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgbWVzc2FnZXMgZGlzcGF0Y2hlZCBi
eSBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgdGhhdCBncmFiIGdlb21ldHJ5CisgICAgICAgIGZyb20g
dGhlIFdlYlByb2Nlc3Mgb3V0IG9mIHRoZSBEcmF3aW5nQXJlYSBhbmQgaW50byBWaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yLgorICAgICAgICBUaGlzIGNsYXNzIHdpbGwgZ3JvdyB3aGVuIHNt
YXJ0IG1hZ25pZmljYXRpb24gaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgor
ICAgICAgICBSZW1vdmUgQmVnaW5UcmFuc2llbnRab29tKCkgbWVzc2FnZS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaDoKKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZENv
bGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpoYW5kbGVNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5tZXNzYWdlcy5pbjoKKyAgICAgICAg
TWFrZSB1c2Ugb2YgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvciBhbmQgcmVuYW1lIGRpZEJl
Z2luVHJhbnNpZW50Wm9vbSB0byBkaWRDb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2Vz
dHVyZS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Vmlld0dlc3R1cmVHZW9tZXRyeUNv
bGxlY3Rvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6
On5WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dl
c3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdl
c3R1cmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2Vz
dHVyZUdlb21ldHJ5Q29sbGVjdG9yLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgTW92ZSB0
aGUgY29kZSB0byBjb2xsZWN0IHRoZSB2aXNpYmxlIGNvbnRlbnQgcmVjdCBhbmQgcmV0dXJuIGl0
IHRvIHRoZSBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgaW50byBpdHMgb3duIGNsYXNzLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICBNb3ZlIG1fcGFnZUlEIHRvIHRoZSB0b3Agb2YgV2ViUGFnZSdzIGluaXRpYWxp
emF0aW9uIGxpc3Qgc28gdGhhdAorICAgICAgICBpdCBjYW4gYmUgc2FmZWx5IHVzZWQgZnJvbSBv
dGhlciBtZW1iZXIncyBjb25zdHJ1Y3RvcnMuCisKKyAgICAgICAgQWRkIGEgVmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3RvciBtZW1iZXIgYW5kIGNvbnN0cnVjdCBpdC4KKworMjAxMy0xMi0xOCAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwogICAgICAgICBQREZQbHVn
aW46IE5ldmVyIG1ha2UgYSBOU0V2ZW50VHlwZSA9IDAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA0MGY2MWIwLi44NzMxMzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTkyLDYgKzkyLDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgU3RvcmFnZUFy
ZWFNYXAgXAogICAgIFN0b3JhZ2VNYW5hZ2VyIFwKICAgICBWaWV3R2VzdHVyZUNvbnRyb2xsZXIg
XAorICAgIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IgXAogICAgIFdlYkFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyIFwKICAgICBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5IFwKICAg
ICBXZWJDb25uZWN0aW9uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5oCmluZGV4IDA5OTY1YTIuLjJmY2NmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGNvbG9yU3BhY2VEaWRDaGFuZ2UoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbWlu
aW11bUxheW91dFNpemVEaWRDaGFuZ2UoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRy
YW5zaWVudFpvb20oKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VHJhbnNpZW50Wm9vbShk
b3VibGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21taXRU
cmFuc2llbnRab29tKGRvdWJsZSwgV2ViQ29yZTo6RmxvYXRQb2ludCkgeyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggOGUzYTU3OC4uMzgyMWMwNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTUwLDcgKzUwLDYgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJh
Y2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgYmFja2lu
Z1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIE9WRVJSSURFOwogCi0gICAg
dmlydHVhbCB2b2lkIGJlZ2luVHJhbnNpZW50Wm9vbSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBhZGp1c3RUcmFuc2llbnRab29tKGRvdWJsZSBzY2FsZSwgV2ViQ29yZTo6RmxvYXRQb2lu
dCBvcmlnaW4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjb21taXRUcmFuc2llbnRab29t
KGRvdWJsZSBzY2FsZSwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIE9WRVJSSURFOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KaW5kZXggNmM3MGMzOS4uZmQxNTliOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQpAQCAtMTQ4LDExICsxNDgsNiBA
QCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OnNlbmRVcGRhdGVHZW9t
ZXRyeSgpCiAgICAgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeSA9IHRydWU7CiB9CiAK
LXZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6YmVnaW5UcmFuc2llbnRa
b29tKCkKLXsKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRy
YXdpbmdBcmVhOjpCZWdpblRyYW5zaWVudFpvb20oKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgp
KTsKLX0KLQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjphZGp1c3RU
cmFuc2llbnRab29tKGRvdWJsZSBzY2FsZSwgRmxvYXRQb2ludCBvcmlnaW4pCiB7CiAgICAgbV93
ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWRqdXN0
VHJhbnNpZW50Wm9vbShzY2FsZSwgb3JpZ2luKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250
cm9sbGVyLmNwcAppbmRleCBkYjJhNTg3Li5lMGE2MGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW1wb3J0ICJWaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCIKIAogI2ltcG9ydCAi
Vmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZXMuaCIKKyNpbXBvcnQgIlZpZXdHZXN0dXJlR2Vv
bWV0cnlDb2xsZWN0b3JNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKIApAQCAtODQsNyArODUsNyBAQCBGbG9hdFBvaW50IFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6c2NhbGVkTWFnbmlmaWNhdGlvbk9yaWdpbihGbG9hdFBvaW50
IG9yaWdpbiwgZAogICAgIHJldHVybiBzY2FsZWRNYWduaWZpY2F0aW9uT3JpZ2luOwogfQogCi12
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQmVnaW5UcmFuc2llbnRab29tKEZsb2F0UmVj
dCB2aXNpYmxlQ29udGVudFJlY3QpCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29s
bGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRSZWN0IHZpc2libGVDb250
ZW50UmVjdCkKIHsKICAgICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpN
YWduaWZpY2F0aW9uOwogICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0ID0gdmlzaWJsZUNvbnRlbnRS
ZWN0OwpAQCAtOTgsNyArOTksOCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxl
TWFnbmlmaWNhdGlvbkdlc3R1cmUoZG91YmxlIHNjYWxlLCBGbG9hdFBvaW50CiAgICAgaWYgKG1f
YWN0aXZlR2VzdHVyZVR5cGUgPT0gVmlld0dlc3R1cmVUeXBlOjpOb25lKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBXZSBkcm9wIHRoZSBmaXJzdCBmcmFtZSBvZiB0aGUgZ2VzdHVyZSBvbiB0aGUgZmxv
b3IsIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGUgdmlzaWJsZSBjb250ZW50IGJvdW5kcyB5ZXQu
CiAgICAgICAgIG1fbWFnbmlmaWNhdGlvbiA9IG1fd2ViUGFnZVByb3h5LnBhZ2VTY2FsZUZhY3Rv
cigpOwotICAgICAgICBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpLT5iZWdpblRyYW5zaWVu
dFpvb20oKTsKKyAgICAgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6
OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OkNvbGxlY3RHZW9tZXRyeUZvck1hZ25pZmlj
YXRpb25HZXN0dXJlKCksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKKwogICAgICAgICByZXR1
cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCA3YTU5MzY0Li4yOTAwYTZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAg
LTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJ
REU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgotICAgIHZvaWQgZGlkQmVnaW5UcmFuc2ll
bnRab29tKFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcyk7CisgICAgdm9p
ZCBkaWRDb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFJlY3QgdmlzaWJsZUNvbnRlbnRCb3VuZHMpOwogCiAgICAgdm9pZCBlbmRNYWduaWZpY2F0aW9u
R2VzdHVyZSgpOwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgc2NhbGVkTWFnbmlmaWNhdGlvbk9y
aWdpbihXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgZG91YmxlIHNjYWxlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIubWVzc2FnZXMuaW4KaW5kZXggYzNjOTdmNS4uYmYyOWQ4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIubWVzc2FnZXMuaW4KQEAgLTIxLDUgKzIxLDUgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2Fn
ZXMgLT4gVmlld0dlc3R1cmVDb250cm9sbGVyIHsKLSAgICBEaWRCZWdpblRyYW5zaWVudFpvb20o
V2ViQ29yZTo6RmxvYXRSZWN0IHZpc2libGVDb250ZW50Qm91bmRzKQorICAgIERpZENvbGxlY3RH
ZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxl
Q29udGVudEJvdW5kcykKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA3NDcxYzA0Li42N2ZmZDk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNzksNiArMzc5
LDEwIEBACiAJCTJENDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZp
ZWxkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ0
MjlCRkIxNzIxRTJCQTAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmllbGQubW0gKi87IH07
CiAJCTJENDdCNTZDMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENDdCNTZB
MTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSAqLzsgfTsKIAkJ
MkQ0N0I1NkQxODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDQ3QjU2QjE4MTA3
MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCAqLzsgfTsKKwkJMkQ4MTlC
OUQxODYyNzVCMzAwMUYwM0QxIC8qIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IubWVzc2Fn
ZXMuaW4gaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
ODE5QjlCMTg2Mjc1QjMwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLm1l
c3NhZ2VzLmluICovOyB9OworCQkyRDgxOUI5RTE4NjI3RUU5MDAxRjAzRDEgLyogVmlld0dlc3R1
cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDgxOUI5OTE4NjI3NUIzMDAxRjAzRDEgLyogVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvci5jcHAgKi87IH07CisJCTJEODE5QkExMTg2MjgwMEUwMDFGMDNEMSAvKiBW
aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODE5QjlGMTg2MjgwMEUwMDFG
MDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKKwkJMkQ4MTlCQTIxODYyODAwRTAwMUYwM0QxIC8qIFZpZXdHZXN0dXJlR2VvbWV0cnlD
b2xsZWN0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ4MTlCQTAxODYyODAwRTAwMUYwM0QxIC8qIFZpZXdHZXN0dXJlR2VvbWV0cnlD
b2xsZWN0b3JNZXNzYWdlcy5oICovOyB9OwogCQkyRDg3MEQxMDE2MjM0RkZFMDAwQTNGMjAgLyog
UERGUGx1Z2luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ4NzBEMEUxNjIyQjdGOTAwMEEzRjIwIC8qIFBERlBsdWdpbi5tbSAqLzsgfTsKIAkJMkQ4
NzEwMTYxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3MTAxNDE4
Mjg0MTVEMDAxOEZBMDEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJMkQ4NzEwMTcxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3Rv
bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4NzEw
MTUxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5oICovOyB9
OwpAQCAtMTk1NCw2ICsxOTU4LDExIEBACiAJCTJENDI5QkZCMTcyMUUyQkEwMEVDNjgxRiAvKiBQ
REZQbHVnaW5QYXNzd29yZEZpZWxkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbTsgcGF0aCA9IFBERi9QREZQbHVnaW5Q
YXNzd29yZEZpZWxkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDQ3QjU2QTE4
MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ0N0I1NkIxODEwNzE0RTAwM0EzQUVFIC8q
IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEODE5Qjk5MTg2Mjc1QjMwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZXdHZXN0dXJl
R2VvbWV0cnlDb2xsZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDgx
OUI5QTE4NjI3NUIzMDAxRjAzRDEgLyogVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEODE5QjlCMTg2Mjc1QjMwMDFG
MDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEODE5QjlGMTg2MjgwMEUwMDFGMDNEMSAv
KiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
ck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEODE5
QkEwMTg2MjgwMEUwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2Fn
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVmlld0dlc3R1cmVHZW9tZXRy
eUNvbGxlY3Rvck1lc3NhZ2VzLmg7IHBhdGggPSBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9y
TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ4NzBEMEQxNjIyQjdG
OTAwMEEzRjIwIC8qIFBERlBsdWdpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBQREZQbHVnaW4uaDsgcGF0aCA9IFBERi9QREZQbHVnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQ4NzBEMEUxNjIyQjdGOTAwMEEzRjIwIC8qIFBERlBsdWdpbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFBERlBsdWdpbi5tbTsgcGF0aCA9
IFBERi9QREZQbHVnaW4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEODcxMDE0
MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyUmVtb3RlQ3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ1MDAsNiArNDUwOSw5IEBA
CiAJCQkJN0NGNDdGRjkxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCAqLywKIAkJCQkx
QTkwQzIzNjEyNjUwNzE3MDAzRTQ0RDQgLyogUGFnZU92ZXJsYXkuY3BwICovLAogCQkJCTFBOTBD
MjM1MTI2NTA3MTcwMDNFNDRENCAvKiBQYWdlT3ZlcmxheS5oICovLAorCQkJCTJEODE5Qjk5MTg2
Mjc1QjMwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcCAqLywKKwkJ
CQkyRDgxOUI5QTE4NjI3NUIzMDAxRjAzRDEgLyogVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
ci5oICovLAorCQkJCTJEODE5QjlCMTg2Mjc1QjMwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21l
dHJ5Q29sbGVjdG9yLm1lc3NhZ2VzLmluICovLAogCQkJCUJDNzJCOUY4MTFFNjQ3NkIwMDFFQjRF
QSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgKi8sCiAJCQkJQkM3MkI5RjkxMUU2NDc2
QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggKi8sCiAJCQkJNTE4NzFCNTkx
MjdDQjg5RDAwRjc2MjMyIC8qIFdlYkNvbnRleHRNZW51LmNwcCAqLywKQEAgLTU0NzYsNiArNTQ4
OCw4IEBACiAJCUMwQ0U3MjlEMTI0N0U3MUQwMEJDMEVDNCAvKiBEZXJpdmVkIFNvdXJjZXMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTJEODE5QjlGMTg2
MjgwMEUwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKKwkJCQkyRDgxOUJBMDE4NjI4MDBFMDAxRjAzRDEgLyogVmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3Rvck1lc3NhZ2VzLmggKi8sCiAJCQkJNTEyRjU4QTAxMkE4ODNBRDAwNjI5
NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
NTEyRjU4QTExMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2Vz
LmggKi8sCiAJCQkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQu
TmV0d29ya1Byb2Nlc3Muc2IgKi8sCkBAIC02MDE2LDYgKzYwMzAsNyBAQAogCQkJCUJDRUU3RDBF
MTI4NDZGNjkwMDk4MjdEQSAvKiBXZWJDb250ZXh0TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNCMEIwREMxMjMwNUEyNTAwQjEzNDFFIC8qIFdlYkNvbnRleHRV
c2VyTWVzc2FnZUNvZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ4MTlCQTIxODYyODAwRTAw
MUYwM0QxIC8qIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3JNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzMwOTM0NTAxMzE1Qjk0RDAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29r
aWVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMDkzNDU2MTMxNUI5NzUw
MDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtNjcy
Niw2ICs2NzQxLDcgQEAKIAkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJMkQ4MTlCOUQxODYy
NzVCMzAwMUYwM0QxIC8qIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IubWVzc2FnZXMuaW4g
aW4gUmVzb3VyY2VzICovLAogCQkJCUUxRDI2QTUxMTc1OTY0RDcwMDk1QkZEMSAvKiBXZWJDb250
ZW50UHJvY2Vzcy54aWIgaW4gUmVzb3VyY2VzICovLAogCQkJCUUxMzNGRDhBMTQyM0REN0YwMEZD
N0JGQiAvKiBXZWJLaXQuaWNucyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwpAQCAtNzM3MSw2ICs3
Mzg3LDcgQEAKIAkJCQk1MTAyMUU5QzEyQjE2Nzg4MDA1QzAzM0MgLyogV2ViQ29udGV4dE1lbnVD
bGllbnRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTI5MzVENzEyODhEMTk0MDBBNEI2OTUg
LyogV2ViQ29udGV4dE1lbnVJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEZCQjlBMTI4
OEM5NUUwMEFGRkRGNCAvKiBXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTJEODE5QkExMTg2MjgwMEUwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTg0Q0UzMTI3
RjM4NkIwMENBNkVBNCAvKiBXZWJDb250ZXh0TWVudVByb3h5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxQUNCQkExMTI3QThGMkMwMEQyMDNCOSAvKiBXZWJDb250ZXh0TWVudVByb3h5TWFjLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRTdEMEQxMjg0NkY2OTAwOTgyN0RBIC8qIFdlYkNvbnRl
eHRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC03NjQ2LDYgKzc2NjMsNyBA
QAogCQkJCTUxMkE5NzYwMTgwRTAzMUQwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc2MEQxMjRGRjAyNzAwNjhGMjBB
IC8qIFdLVVJMUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc2MkMxMjRGRjA0
MDAwNjhGMjBBIC8qIFdLVVJMUmVzcG9uc2VOUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEODE5
QjlFMTg2MjdFRTkwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg2OTlCNjExNkFBREFBMDAy
QTkyNUIgLyogV0tWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVFMUFGRTgxNkIyMEI2NzAw
NkNDMUYyIC8qIFdLV2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggNjJkZWFlNy4uOTRj
M2FjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmgKQEAgLTEyNyw3ICsxMjcsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRE
ZXZpY2VTY2FsZUZhY3RvcihmbG9hdCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldENvbG9yU3Bh
Y2UoY29uc3QgQ29sb3JTcGFjZURhdGEmKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRy
YW5zaWVudFpvb20oKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VHJhbnNpZW50Wm9vbShk
b3VibGUgc2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgY29tbWl0VHJhbnNpZW50Wm9vbShkb3VibGUgc2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9p
bnQgb3JpZ2luKSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCmluZGV4IDZkOGVmYWIuLmQ3
YjNlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KQEAgLTMxLDcgKzMxLDYgQEAgbWVzc2FnZXMgLT4g
RHJhd2luZ0FyZWEgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldERldmljZVNjYWxlRmFjdG9yKGZs
b2F0IGRldmljZVNjYWxlRmFjdG9yKQogICAgIFNldENvbG9yU3BhY2UoV2ViS2l0OjpDb2xvclNw
YWNlRGF0YSBjb2xvclNwYWNlKQogICAgIAotICAgIEJlZ2luVHJhbnNpZW50Wm9vbSgpCiAgICAg
QWRqdXN0VHJhbnNpZW50Wm9vbShkb3VibGUgc2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3Jp
Z2luKQogICAgIENvbW1pdFRyYW5zaWVudFpvb20oZG91YmxlIHNjYWxlLCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbikKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMzk4YTQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvci5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgiCisK
KyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlICJWaWV3R2VzdHVy
ZUNvbnRyb2xsZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xs
ZWN0b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yKFdlYlBhZ2UmIHdlYlBhZ2UpCisg
ICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlLnBhZ2VJRCgpLCAqdGhpcyk7Cit9CisKK1Zp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6On5WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9y
KCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV93ZWJQYWdlLnBhZ2VJRCgpKTsKK30KKwordm9pZCBWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpjb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZSgpCit7CisgICAg
RmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCA9IG1fd2ViUGFnZS5tYWluRnJhbWVWaWV3KCkt
PnZpc2libGVDb250ZW50UmVjdChTY3JvbGxhYmxlQXJlYTo6SW5jbHVkZVNjcm9sbGJhcnMpOwor
ICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZENv
bGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKHZpc2libGVDb250ZW50UmVjdCkp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMDVmZDUyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJl
R2VvbWV0cnlDb2xsZWN0b3IuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yX2gKKyNkZWZpbmUgVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvcl9oCisKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFZpZXdHZXN0dXJlR2VvbWV0
cnlDb2xsZWN0b3IgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitwdWJsaWM6
CisgICAgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvcihXZWJQYWdlJik7CisgICAgflZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IoKTsKKworcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIuCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworCisg
ICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2b2lkIGNvbGxlY3RHZW9tZXRyeUZvck1hZ25p
ZmljYXRpb25HZXN0dXJlKCk7CisKKyAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7Cit9OworCisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5tZXNzYWdlcy5pbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWY4NjZmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0
cnlDb2xsZWN0b3IubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMp
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBWaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yIHsKKworQ29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdlc3R1cmUoKQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggMTY3OGUyNS4uYmVkZjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMjIwLDcgKzIyMCw4IEBAIFBhc3NSZWZQdHI8V2ViUGFnZT4g
V2ViUGFnZTo6Y3JlYXRlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1lCiB9CiAKIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQotICAgIDogbV92aWV3U2l6ZShwYXJhbWV0
ZXJzLnZpZXdTaXplKQorICAgIDogbV9wYWdlSUQocGFnZUlEKQorICAgICwgbV92aWV3U2l6ZShw
YXJhbWV0ZXJzLnZpZXdTaXplKQogICAgICwgbV9oYXNTZWVuUGx1Z2luKGZhbHNlKQogICAgICwg
bV91c2VGaXhlZExheW91dChmYWxzZSkKICAgICAsIG1fZHJhd3NCYWNrZ3JvdW5kKHRydWUpCkBA
IC0yNDUsNiArMjQ2LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX2hhc0NhY2hl
ZFdpbmRvd0ZyYW1lKGZhbHNlKQogICAgICwgbV9sYXllckhvc3RpbmdNb2RlKHBhcmFtZXRlcnMu
bGF5ZXJIb3N0aW5nTW9kZSkKICAgICAsIG1fa2V5Ym9hcmRFdmVudEJlaW5nSW50ZXJwcmV0ZWQo
MCkKKyAgICAsIG1fdmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvcigqdGhpcykKICNlbGlmIFBM
QVRGT1JNKEdUSykKICAgICAsIG1fYWNjZXNzaWJpbGl0eU9iamVjdCgwKQogI2VuZGlmCkBAIC0y
NTcsNyArMjU5LDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAjaWYgRU5BQkxFKEdFT0xPQ0FU
SU9OKQogICAgICwgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcih0aGlzKQog
I2VuZGlmCi0gICAgLCBtX3BhZ2VJRChwYWdlSUQpCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkK
ICAgICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICAgICAsIG1faXNS
dW5uaW5nTW9kYWwoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCBmNDNmNTAzLi5kMmJmMjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTg5LDYgKzg5LDcgQEAKICNpZiBQTEFURk9STShN
QUMpCiAjaW5jbHVkZSAiRGljdGlvbmFyeVBvcHVwSW5mby5oIgogI2luY2x1ZGUgIkxheWVySG9z
dGluZ0NvbnRleHQuaCIKKyNpbmNsdWRlICJWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgi
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogT0JKQ19DTEFTUyBDQUxheWVyOwogT0JKQ19D
TEFTUyBOU0RpY3Rpb25hcnk7CkBAIC04NTksNiArODYwLDggQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgcmVwb3J0VXNlZEZlYXR1cmVzKCk7CiAKKyAgICB1aW50NjRfdCBtX3BhZ2VJRDsKKwogICAg
IE93blB0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7CiAgICAgUmVmUHRyPFdlYkZyYW1lPiBtX21h
aW5GcmFtZTsKICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3Q+IG1fYmFj
a0ZvcndhcmRMaXN0OwpAQCAtOTMyLDYgKzkzNSw4IEBAIHByaXZhdGU6CiAKICAgICBXZWJDb3Jl
OjpLZXlib2FyZEV2ZW50KiBtX2tleWJvYXJkRXZlbnRCZWluZ0ludGVycHJldGVkOwogCisgICAg
Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvciBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0
b3I7CisKICNlbGlmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKSkKICAgICBHUmVmUHRyPFdlYlBhZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0PiBtX2Fj
Y2Vzc2liaWxpdHlPYmplY3Q7CiAKQEAgLTk5Nyw3ICsxMDAyLDYgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAgICAgU2FuZGJveEV4dGVuc2lvblRyYWNrZXIgbV9zYW5kYm94RXh0ZW5zaW9uVHJhY2tl
cjsKLSAgICB1aW50NjRfdCBtX3BhZ2VJRDsKIAogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9u
PiBtX3BlbmRpbmdEcm9wU2FuZGJveEV4dGVuc2lvbjsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRi
b3hFeHRlbnNpb24+PiBtX3BlbmRpbmdEcm9wRXh0ZW5zaW9uc0ZvckZpbGVVcGxvYWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKaW5kZXggYzg1MjkxYy4uOWJkZDJk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAtMTA0LDcg
KzEwNCw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVySG9zdGluZ01vZGUo
dWludDMyX3QpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb2xvclNwYWNlKGNvbnN0
IENvbG9yU3BhY2VEYXRhJikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UcmFu
c2llbnRab29tKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFRyYW5zaWVudFpv
b20oZG91YmxlIHNjYWxlLCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyYW5zaWVudFpvb20oZG91YmxlIHNjYWxlLCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikgT1ZFUlJJREU7CiAgICAgdm9pZCBhcHBseVRyYW5zaWVudFpv
b21Ub1BhZ2UoZG91YmxlIHNjYWxlLCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBiNDZiNzI2Li5iMDky
Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTcw
MSwxMiArNzAxLDYgQEAgYm9vbCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2hvdWxk
VXNlVGlsZWRCYWNraW5nRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW0KICAgICByZXR1cm4gZnJhbWVW
aWV3ICYmIGZyYW1lVmlldy0+ZnJhbWUoKS5pc01haW5GcmFtZSgpOwogfQogCi12b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpiZWdpblRyYW5zaWVudFpvb20oKQotewotICAgIEZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSBtX3dlYlBhZ2UtPm1haW5GcmFtZVZpZXcoKS0+
dmlzaWJsZUNvbnRlbnRSZWN0KFNjcm9sbGFibGVBcmVhOjpJbmNsdWRlU2Nyb2xsYmFycyk7Ci0g
ICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZEJl
Z2luVHJhbnNpZW50Wm9vbSh2aXNpYmxlQ29udGVudFJlY3QpKTsKLX0KLQogdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWRqdXN0VHJhbnNpZW50Wm9vbShkb3VibGUgc2NhbGUs
IEZsb2F0UG9pbnQgb3JpZ2luKQogewogICAgIC8vIEZJWE1FOiBTY3JvbGxiYXJzIHNob3VsZCBz
dGF5IGluLXBsYWNlIGFuZCBjaGFuZ2UgaGVpZ2h0IHdoaWxlIHpvb21pbmcuCg==
</data>
<flag name="review"
          id="243252"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>