<?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>43723</bug_id>
          
          <creation_ts>2010-08-09 08:52:01 -0700</creation_ts>
          <short_desc>Web Inspector: Remove callId argument from all backend agents&apos; methods</short_desc>
          <delta_ts>2010-08-09 11:14:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262156</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-09 08:52:01 -0700</bug_when>
    <thetext>%subj%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262163</commentid>
    <comment_count>1</comment_count>
      <attachid>63897</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-09 08:57:08 -0700</bug_when>
    <thetext>Created attachment 63897
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262230</commentid>
    <comment_count>2</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-09 11:14:11 -0700</bug_when>
    <thetext>Committed r64986
	M	WebCore/ChangeLog
	M	WebCore/inspector/InspectorDebuggerAgent.h
	M	WebCore/inspector/CodeGeneratorInspector.pm
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorBackend.h
	M	WebCore/inspector/InspectorDOMAgent.h
	M	WebCore/inspector/InspectorDebuggerAgent.cpp
	M	WebCore/inspector/InspectorApplicationCacheAgent.h
	M	WebCore/inspector/InspectorBackend.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorDOMAgent.cpp
	M	WebCore/inspector/InspectorApplicationCacheAgent.cpp
r64986 = aa001e02f1cef60f10eeb981d88c7c1bd8e66333 (refs/remotes/trunk)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63897</attachid>
            <date>2010-08-09 08:57:08 -0700</date>
            <delta_ts>2010-08-09 09:03:26 -0700</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>33012</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MGEwYjdjZC4uNjIzZDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw2MCBAQAogMjAxMC0wOC0wOSAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIGNhbGxJZCBhcmd1bWVu
dCBmcm9tIGFsbCBiYWNrZW5kIGFnZW50cycgbWV0aG9kcy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzIzCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5wbToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudDo6Z2V0QXBwbGljYXRpb25DYWNoZXMpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JC
YWNrZW5kOjpnZXRQcm9maWxlckxvZ0xpbmVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckJhY2tlbmQ6OmNsZWFyQ29uc29sZU1lc3NhZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckJhY2tlbmQ6OmdldERhdGFiYXNlVGFibGVOYW1lcyk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckJhY2tlbmQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpnZXRDb29r
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmdldERPTVN0b3Jh
Z2VFbnRyaWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnNldERP
TVN0b3JhZ2VJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnJl
bW92ZURPTVN0b3JhZ2VJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OmdldFByb2ZpbGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRy
b2xsZXI6OmdldFByb2ZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6Z2V0UmVzb3VyY2VDb250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Z2V0Q2hpbGROb2Rlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0QXR0cmlidXRlKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpyZW1vdmVBdHRyaWJ1dGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmNoYW5nZVRhZ05hbWUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVySFRNTCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JET01BZ2VudDo6c2V0T3V0ZXJIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRPTUFnZW50OjpzZXRUZXh0Tm9kZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRPTUFnZW50OjpnZXRFdmVudExpc3RlbmVyc0Zvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NQWdlbnQ6OmdldFN0eWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JET01BZ2VudDo6Z2V0QWxsU3R5bGVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRP
TUFnZW50OjpnZXRTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFn
ZW50OjpnZXRSdWxlUmFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50
OjpnZXRJbmxpbmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6
Z2V0Q29tcHV0ZWRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6
YXBwbHlTdHlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnNl
dFN0eWxlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0U3R5
bGVQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6dG9nZ2xl
U3R5bGVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpzZXRS
dWxlU2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmFkZFJ1
bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlQnlQYXRo
VG9Gcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0QnJlYWtwb2ludCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjplZGl0U2NyaXB0U291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmdldFNjcmlwdFNvdXJjZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKworMjAxMC0w
OC0wOSAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBy
ZW1vdmUgdW5uZWNlc3NhcnkgZGlkKiBtZXRob2RzIGZyb20gUmVtb3RlSW5zcGVjdG9yRnJvbnRl
bmQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnBtIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQppbmRleCBj
ZDMwNDZkLi44MjMzNGFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnBtCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNw
ZWN0b3IucG0KQEAgLTM0NywxMiArMzQ3LDEyIEBAIHN1YiBnZW5lcmF0ZUJhY2tlbmRGdW5jdGlv
bgogICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAiIC4gJHR5cGVUcmFuc2Zvcm17JF8tPnR5
cGV9LT57InZhcmlhYmxlIn0gLiAiICIgLiAkXy0+bmFtZSAuICIkaW5pdGlhbGl6ZXI7Iik7CiAg
ICAgfQogCi0KLSAgICBteSAkYXJncyA9IGpvaW4oIiwgIiwgKG1hcCgkXy0+bmFtZSwgQGluQXJn
cyksIG1hcCgiJiIgLiAkXy0+bmFtZSwgQG91dEFyZ3MpKSk7CisgICAgbXkgJGFzeW5jID0gJGZ1
bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJhc3luYyJ9OworICAgIG15
ICRhcmdzID0gam9pbigiLCAiLCAoZ3JlcCgkYXN5bmMgfHwgISgkXyBlcSAiY2FsbElkIiksIG1h
cCgkXy0+bmFtZSwgQGluQXJncykpLCBtYXAoIiYiIC4gJF8tPm5hbWUsIEBvdXRBcmdzKSkpOwog
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICRoYW5kbGVyQWNjZXNzb3ItPiRmdW5jdGlvbk5hbWUo
JGFyZ3MpOyIpOwogCiAgICAgIyBUaGUgcmVzdWx0cyBvZiBmdW5jdGlvbiBjYWxsIHNob3VsZCBi
ZSB0cmFuc2ZlcmVkIGJhY2sgdG8gZnJvbnRlbmQgKGV4Y2VwdCBhc3luYyBtZXRob2RzIC0gbmVl
ZCB0byBmaXggdGhhdCkuCi0gICAgaWYgKHNjYWxhcihncmVwKCRfLT5uYW1lIGVxICJjYWxsSWQi
LCBAaW5BcmdzKSkgJiYgISRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiYXN5bmMifSkgeworICAgIGlmIChzY2FsYXIoZ3JlcCgkXy0+bmFtZSBlcSAiY2FsbElkIiwg
QGluQXJncykpICYmICEkYXN5bmMpIHsKICAgICAgICAgbXkgQHB1c2hBcmd1bWVudHMgPSBtYXAo
IiAgICAgICAgYXJndW1lbnRzLT5wdXNoIiAuICR0eXBlVHJhbnNmb3JteyRfLT50eXBlfS0+eyJh
Y2Nlc3NvclN1ZmZpeCJ9IC4gIigiIC4gJF8tPm5hbWUgLiAiKTsiLCBAb3V0QXJncyk7CiAgICAg
ICAgIG15ICRjdXN0b21SZXNwb25zZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiY3VzdG9tUmVzcG9uc2UifTsKICAgICAgICAgbXkgJGRpZEZ1bmN0aW9uTmFt
ZSA9ICRjdXN0b21SZXNwb25zZSA/ICRjdXN0b21SZXNwb25zZSA6ICJkaWQiIC4gdWNmaXJzdCgk
ZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcAppbmRleCBiZGE0NDJiLi5iOTVjMGUx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQ6OnVwZGF0ZU5ldHdvcmtTdGF0ZShib29sIGlzTm93T25saW5lKQogICAgIG1fZnJv
bnRlbmQtPnVwZGF0ZU5ldHdvcmtTdGF0ZShpc05vd09ubGluZSk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50OjpnZXRBcHBsaWNhdGlvbkNhY2hlcyhsb25nLCBSZWZQ
dHI8SW5zcGVjdG9yVmFsdWU+KiBhcHBsaWNhdGlvbkNhY2hlcykKK3ZvaWQgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50OjpnZXRBcHBsaWNhdGlvbkNhY2hlcyhSZWZQdHI8SW5zcGVjdG9y
VmFsdWU+KiBhcHBsaWNhdGlvbkNhY2hlcykKIHsKICAgICBEb2N1bWVudExvYWRlciogZG9jdW1l
bnRMb2FkZXIgPSBtX2luc3BlY3RvckNvbnRyb2xsZXItPmluc3BlY3RlZFBhZ2UoKS0+bWFpbkZy
YW1lKCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwogICAgIGlmIChkb2N1bWVudExvYWRl
cikgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaAppbmRleCBkZGU5YzcwLi4zMzM4Zjg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtNTEsNyArNTEsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1cGRhdGVOZXR3b3JrU3RhdGUoYm9vbCBpc05vd09ubGluZSk7CiAK
ICAgICAvLyBGcm9tIEZyb250ZW5kCi0gICAgdm9pZCBnZXRBcHBsaWNhdGlvbkNhY2hlcyhsb25n
IGNhbGxJZCwgUmVmUHRyPEluc3BlY3RvclZhbHVlPiogYXBwbGljYXRpb25DYWNoZXMpOworICAg
IHZvaWQgZ2V0QXBwbGljYXRpb25DYWNoZXMoUmVmUHRyPEluc3BlY3RvclZhbHVlPiogYXBwbGlj
YXRpb25DYWNoZXMpOwogCiBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBidWlsZE9iamVjdEZvckFwcGxpY2F0aW9uQ2FjaGUoY29uc3QgQXBwbGljYXRpb25DYWNoZUhv
c3Q6OlJlc291cmNlSW5mb0xpc3QmLCBjb25zdCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6Q2FjaGVJ
bmZvJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwCmluZGV4IGYwYTE2Mzgu
LjIyMDI1ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQu
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwCkBAIC03Miw3
ICs3Miw3IEBAIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6dGFrZUhlYXBTbmFwc2hvdCgpCiAgICAg
U2NyaXB0UHJvZmlsZXI6OnRha2VIZWFwU25hcHNob3QoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JC
YWNrZW5kOjpnZXRQcm9maWxlckxvZ0xpbmVzKGxvbmcsIGxvbmcgcG9zaXRpb24sIGxvbmcqIG91
dFBvc2l0aW9uLCBTdHJpbmcqIGRhdGEpCit2b2lkIEluc3BlY3RvckJhY2tlbmQ6OmdldFByb2Zp
bGVyTG9nTGluZXMobG9uZyBwb3NpdGlvbiwgbG9uZyogb3V0UG9zaXRpb24sIFN0cmluZyogZGF0
YSkKIHsKICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIG1ha2UgaW5zcGVjdG9yIGRpc3BhdGNoZXIg
cGx1Z2dhYmxlLCBzbyB0aGF0IGVtYmVkZGVycyBjb3VsZCBjb250cmlidXRlIEFQSXMgaW5zdGVh
ZCBvZiBwb2xsdXRpbmcgdGhlIGNvcmUgb25lCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQzMzU3CkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBJbnNwZWN0
b3JCYWNrZW5kOjpkaXNwYXRjaE9uSW5qZWN0ZWRTY3JpcHQobG9uZyBjYWxsSWQsIGxvbmcgaW5q
ZWN0ZWRTY3JpcHQKICAgICByZW1vdGVGcm9udGVuZCgpLT5kaWREaXNwYXRjaE9uSW5qZWN0ZWRT
Y3JpcHQoY2FsbElkLCAoKnJlc3VsdCkuZ2V0KCksICpoYWRFeGNlcHRpb24pOwogfQogCi12b2lk
IEluc3BlY3RvckJhY2tlbmQ6OmNsZWFyQ29uc29sZU1lc3NhZ2VzKGxvbmcpCit2b2lkIEluc3Bl
Y3RvckJhY2tlbmQ6OmNsZWFyQ29uc29sZU1lc3NhZ2VzKCkKIHsKICAgICBtX2luc3BlY3RvckNv
bnRyb2xsZXItPmNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CiB9CkBAIC0xMTksNyArMTE5LDcgQEAg
dm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpyZWxlYXNlV3JhcHBlck9iamVjdEdyb3VwKGxvbmcgaW5q
ZWN0ZWRTY3JpcHRJZCwgY29uc3QgU3QKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKLXZvaWQg
SW5zcGVjdG9yQmFja2VuZDo6Z2V0RGF0YWJhc2VUYWJsZU5hbWVzKGxvbmcsIGxvbmcgZGF0YWJh
c2VJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogbmFtZXMpCit2b2lkIEluc3BlY3RvckJhY2tl
bmQ6OmdldERhdGFiYXNlVGFibGVOYW1lcyhsb25nIGRhdGFiYXNlSWQsIFJlZlB0cjxJbnNwZWN0
b3JBcnJheT4qIG5hbWVzKQogewogICAgIERhdGFiYXNlKiBkYXRhYmFzZSA9IG1faW5zcGVjdG9y
Q29udHJvbGxlci0+ZGF0YWJhc2VGb3JJZChkYXRhYmFzZUlkKTsKICAgICBpZiAoZGF0YWJhc2Up
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaAppbmRleCBiZmY0ZGIwLi5mN2JhZTRm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCkBAIC02MiwxOCArNjIsMTggQEAg
cHVibGljOgogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIHZvaWQgZW5hYmxl
RGVidWdnZXIoYm9vbCBhbHdheXMpOwogICAgIHZvaWQgdGFrZUhlYXBTbmFwc2hvdCgpOwotICAg
IHZvaWQgZ2V0UHJvZmlsZXJMb2dMaW5lcyhsb25nIGNhbGxJZCwgbG9uZyBwb3NpdGlvbiwgbG9u
Zyogb3V0UG9zaXRpb24sIFN0cmluZyogZGF0YSk7CisgICAgdm9pZCBnZXRQcm9maWxlckxvZ0xp
bmVzKGxvbmcgcG9zaXRpb24sIGxvbmcqIG91dFBvc2l0aW9uLCBTdHJpbmcqIGRhdGEpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIHNldEluamVjdGVkU2NyaXB0U291cmNlKGNvbnN0IFN0cmluZyYgc291
cmNlKTsKICAgICB2b2lkIGRpc3BhdGNoT25JbmplY3RlZFNjcmlwdChsb25nIGNhbGxJZCwgbG9u
ZyBpbmplY3RlZFNjcmlwdElkLCBjb25zdCBTdHJpbmcmIG1ldGhvZE5hbWUsIGNvbnN0IFN0cmlu
ZyYgYXJndW1lbnRzLCBib29sIGFzeW5jLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiByZXN1bHQs
IGJvb2wqIGhhZEV4Y2VwdGlvbik7Ci0gICAgdm9pZCBjbGVhckNvbnNvbGVNZXNzYWdlcyhsb25n
IGNhbGxJZCk7CisgICAgdm9pZCBjbGVhckNvbnNvbGVNZXNzYWdlcygpOwogCiAgICAgLy8gR2Vu
ZXJpYyBjb2RlIGNhbGxlZCBmcm9tIGN1c3RvbSBpbXBsZW1lbnRhdGlvbnMuCiAgICAgdm9pZCBy
ZWxlYXNlV3JhcHBlck9iamVjdEdyb3VwKGxvbmcgaW5qZWN0ZWRTY3JpcHRJZCwgY29uc3QgU3Ry
aW5nJiBvYmplY3RHcm91cCk7CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCi0gICAgdm9pZCBnZXRE
YXRhYmFzZVRhYmxlTmFtZXMobG9uZyBjYWxsSWQsIGxvbmcgZGF0YWJhc2VJZCwgUmVmUHRyPElu
c3BlY3RvckFycmF5PiogbmFtZXMpOworICAgIHZvaWQgZ2V0RGF0YWJhc2VUYWJsZU5hbWVzKGxv
bmcgZGF0YWJhc2VJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogbmFtZXMpOwogI2VuZGlmCiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDU3ZDZmZTEuLjVkODYwOWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC0xMjc0LDcgKzEyNzQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRp
ZE9wZW5EYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNlPiBkYXRhYmFzZSwgY29uc3QgUwogfQog
I2VuZGlmCiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0Q29va2llcyhsb25nLCBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+KiBjb29raWVzLCBXZWJDb3JlOjpTdHJpbmcqIGNvb2tpZXNTdHJp
bmcpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldENvb2tpZXMoUmVmUHRyPEluc3BlY3Rv
ckFycmF5PiogY29va2llcywgV2ViQ29yZTo6U3RyaW5nKiBjb29raWVzU3RyaW5nKQogewogICAg
IC8vIElmIHdlIGNhbiBnZXQgcmF3IGNvb2tpZXMuCiAgICAgTGlzdEhhc2hTZXQ8Q29va2llPiBy
YXdDb29raWVzTGlzdDsKQEAgLTEzOTUsNyArMTM5NSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6c2VsZWN0RE9NU3RvcmFnZShTdG9yYWdlKiBzdG9yYWdlKQogICAgICAgICBtX3JlbW90
ZUZyb250ZW5kLT5zZWxlY3RET01TdG9yYWdlKHN0b3JhZ2VSZXNvdXJjZUlkKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpnZXRET01TdG9yYWdlRW50cmllcyhsb25nLCBsb25nIHN0
b3JhZ2VJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogZW50cmllcykKK3ZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6Z2V0RE9NU3RvcmFnZUVudHJpZXMobG9uZyBzdG9yYWdlSWQsIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4qIGVudHJpZXMpCiB7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291
cmNlKiBzdG9yYWdlUmVzb3VyY2UgPSBnZXRET01TdG9yYWdlUmVzb3VyY2VGb3JJZChzdG9yYWdl
SWQpOwogICAgIGlmIChzdG9yYWdlUmVzb3VyY2UpIHsKQEAgLTE0MTIsNyArMTQxMiw3IEBAIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0RE9NU3RvcmFnZUVudHJpZXMobG9uZywgbG9uZyBz
dG9yYWdlSWQsIFJlZlB0cjxJbnNwCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OnNldERPTVN0b3JhZ2VJdGVtKGxvbmcsIGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2VzcykKK3ZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6c2V0RE9NU3RvcmFnZUl0ZW0obG9uZyBzdG9yYWdlSWQsIGNvbnN0IFN0cmlu
ZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKQogewogICAgIEluc3Bl
Y3RvckRPTVN0b3JhZ2VSZXNvdXJjZSogc3RvcmFnZVJlc291cmNlID0gZ2V0RE9NU3RvcmFnZVJl
c291cmNlRm9ySWQoc3RvcmFnZUlkKTsKICAgICBpZiAoc3RvcmFnZVJlc291cmNlKSB7CkBAIC0x
NDIyLDcgKzE0MjIsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNldERPTVN0b3JhZ2VJ
dGVtKGxvbmcsIGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcmCiAgICAgfQogfQogCi12b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OnJlbW92ZURPTVN0b3JhZ2VJdGVtKGxvbmcsIGxvbmcgc3Rv
cmFnZUlkLCBjb25zdCBTdHJpbmcmIGtleSwgYm9vbCogc3VjY2VzcykKK3ZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6cmVtb3ZlRE9NU3RvcmFnZUl0ZW0obG9uZyBzdG9yYWdlSWQsIGNvbnN0IFN0
cmluZyYga2V5LCBib29sKiBzdWNjZXNzKQogewogICAgIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNv
dXJjZSogc3RvcmFnZVJlc291cmNlID0gZ2V0RE9NU3RvcmFnZVJlc291cmNlRm9ySWQoc3RvcmFn
ZUlkKTsKICAgICBpZiAoc3RvcmFnZVJlc291cmNlKSB7CkBAIC0xNDkwLDE0ICsxNDkwLDE0IEBA
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y2xlYXJQcm9maWxlcygpCiAgICAgbV9uZXh0VXNl
ckluaXRpYXRlZFByb2ZpbGVOdW1iZXIgPSAxOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmdldFByb2ZpbGVIZWFkZXJzKGxvbmcsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGhlYWRl
cnMpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFByb2ZpbGVIZWFkZXJzKFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4qIGhlYWRlcnMpCiB7CiAgICAgUHJvZmlsZXNNYXA6Oml0ZXJhdG9yIHBy
b2ZpbGVzRW5kID0gbV9wcm9maWxlcy5lbmQoKTsKICAgICBmb3IgKFByb2ZpbGVzTWFwOjppdGVy
YXRvciBpdCA9IG1fcHJvZmlsZXMuYmVnaW4oKTsgaXQgIT0gcHJvZmlsZXNFbmQ7ICsraXQpCiAg
ICAgICAgICgqaGVhZGVycyktPnB1c2goY3JlYXRlUHJvZmlsZUhlYWRlcigqaXQtPnNlY29uZCkp
OwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFByb2ZpbGUobG9uZywgdW5zaWdu
ZWQgdWlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcHJvZmlsZU9iamVjdCkKK3ZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmlsZSh1bnNpZ25lZCB1aWQsIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+KiBwcm9maWxlT2JqZWN0KQogewogICAgIFByb2ZpbGVzTWFwOjppdGVyYXRvciBp
dCA9IG1fcHJvZmlsZXMuZmluZCh1aWQpOwogICAgIGlmIChpdCAhPSBtX3Byb2ZpbGVzLmVuZCgp
KSB7CkBAIC0xOTMxLDcgKzE5MzEsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNldElu
c3BlY3RvckV4dGVuc2lvbkFQSShjb25zdCBTdHJpbmcmIHNvdXJjZSkKICAgICBtX2luc3BlY3Rv
ckV4dGVuc2lvbkFQSSA9IHNvdXJjZTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpn
ZXRSZXNvdXJjZUNvbnRlbnQobG9uZywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBTdHJpbmcq
IGNvbnRlbnQpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFJlc291cmNlQ29udGVudCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFN0cmluZyogY29udGVudCkKIHsKICAgICBSZWZQdHI8
SW5zcGVjdG9yUmVzb3VyY2U+IHJlc291cmNlID0gbV9yZXNvdXJjZXMuZ2V0KGlkZW50aWZpZXIp
OwogICAgICpjb250ZW50ID0gcmVzb3VyY2UgPyByZXNvdXJjZS0+c291cmNlU3RyaW5nKCkgOiBT
dHJpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCAxNTY4
N2QxLi45MjA0NjZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBA
IC0xNzUsNyArMTc1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RvcFRpbWVsaW5lUHJvZmlsZXIo
KTsKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50KCkgeyByZXR1cm4g
bV90aW1lbGluZUFnZW50LmdldCgpOyB9CiAKLSAgICB2b2lkIGdldENvb2tpZXMobG9uZyBjYWxs
SWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGNvb2tpZXMsIFdlYkNvcmU6OlN0cmluZyogY29v
a2llc1N0cmluZyk7CisgICAgdm9pZCBnZXRDb29raWVzKFJlZlB0cjxJbnNwZWN0b3JBcnJheT4q
IGNvb2tpZXMsIFdlYkNvcmU6OlN0cmluZyogY29va2llc1N0cmluZyk7CiAgICAgdm9pZCBkZWxl
dGVDb29raWUoY29uc3QgU3RyaW5nJiBjb29raWVOYW1lLCBjb25zdCBTdHJpbmcmIGRvbWFpbik7
CiAKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpAQCAtMjAyLDkgKzIwMiw5
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAgICAgdm9pZCBkaWRVc2VET01T
dG9yYWdlKFN0b3JhZ2VBcmVhKiBzdG9yYWdlQXJlYSwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJh
bWUqIGZyYW1lKTsKICAgICB2b2lkIHNlbGVjdERPTVN0b3JhZ2UoU3RvcmFnZSogc3RvcmFnZSk7
Ci0gICAgdm9pZCBnZXRET01TdG9yYWdlRW50cmllcyhsb25nIGNhbGxJZCwgbG9uZyBzdG9yYWdl
SWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGVudHJpZXMpOwotICAgIHZvaWQgc2V0RE9NU3Rv
cmFnZUl0ZW0obG9uZyBjYWxsSWQsIGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcmIGtleSwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7Ci0gICAgdm9pZCByZW1vdmVET01T
dG9yYWdlSXRlbShsb25nIGNhbGxJZCwgbG9uZyBzdG9yYWdlSWQsIGNvbnN0IFN0cmluZyYga2V5
LCBib29sKiBzdWNjZXNzKTsKKyAgICB2b2lkIGdldERPTVN0b3JhZ2VFbnRyaWVzKGxvbmcgc3Rv
cmFnZUlkLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBlbnRyaWVzKTsKKyAgICB2b2lkIHNldERP
TVN0b3JhZ2VJdGVtKGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7CisgICAgdm9pZCByZW1vdmVET01TdG9yYWdlSXRl
bShsb25nIHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXksIGJvb2wqIHN1Y2Nlc3MpOwogI2Vu
ZGlmCiAKICAgICBjb25zdCBSZXNvdXJjZXNNYXAmIHJlc291cmNlcygpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzb3VyY2VzOyB9CkBAIC0yNTAsNyArMjUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVz
dW1lKCk7CiAjZW5kaWYKIAotICAgIHZvaWQgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChsb25n
IGNhbGxJZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOworICAgIHZvaWQgZXZhbHVhdGVGb3JUZXN0
SW5Gcm9udGVuZChsb25nIHRlc3RDYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKIAogICAg
IEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0Rm9yTm9kZUlkKGxvbmcgaWQpOwogICAgIHZv
aWQgYWRkU2NyaXB0VG9FdmFsdWF0ZU9uTG9hZChjb25zdCBTdHJpbmcmIHNvdXJjZSk7CkBAIC0y
ODcsOCArMjg3LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0VXNlckluaXRpYXRlZFByb2Zp
bGluZ1Nvb24oKTsKICAgICB2b2lkIHRvZ2dsZVJlY29yZEJ1dHRvbihib29sKTsKICAgICB2b2lk
IGVuYWJsZURlYnVnZ2VyRnJvbUZyb250ZW5kKGJvb2wgYWx3YXlzKTsKLSAgICB2b2lkIGdldFBy
b2ZpbGVIZWFkZXJzKGxvbmcgY2FsbElkLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBoZWFkZXJz
KTsKLSAgICB2b2lkIGdldFByb2ZpbGUobG9uZyBjYWxsSWQsIHVuc2lnbmVkIHVpZCwgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4qIHByb2ZpbGVPYmplY3QpOworICAgIHZvaWQgZ2V0UHJvZmlsZUhl
YWRlcnMoUmVmUHRyPEluc3BlY3RvckFycmF5PiogaGVhZGVycyk7CisgICAgdm9pZCBnZXRQcm9m
aWxlKHVuc2lnbmVkIHVpZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHByb2ZpbGVPYmplY3Qp
OwogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVQcm9maWxlSGVhZGVyKGNv
bnN0IFNjcmlwdFByb2ZpbGUmIHByb2ZpbGUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERBVEFCQVNF
KQpAQCAtMzA5LDcgKzMwOSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRSZXNvdXJjZShJbnNw
ZWN0b3JSZXNvdXJjZSopOwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3Vy
Y2UqKTsKICAgICBJbnNwZWN0b3JSZXNvdXJjZSogZ2V0VHJhY2tlZFJlc291cmNlKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllcik7Ci0gICAgdm9pZCBnZXRSZXNvdXJjZUNvbnRlbnQobG9uZyBjYWxs
SWQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgU3RyaW5nKiBjb250ZW50KTsKKyAgICB2b2lk
IGdldFJlc291cmNlQ29udGVudCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFN0cmluZyogY29u
dGVudCk7CiAKICAgICB2b2lkIHBydW5lUmVzb3VyY2VzKFJlc291cmNlc01hcCosIERvY3VtZW50
TG9hZGVyKiBsb2FkZXJUb0tlZXAgPSAwKTsKICAgICB2b2lkIHJlbW92ZUFsbFJlc291cmNlcyhS
ZXNvdXJjZXNNYXAqIG1hcCkgeyBwcnVuZVJlc291cmNlcyhtYXApOyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggMDRhMWNkMS4uZTYwY2VlMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMzg0LDcgKzM4NCw3IEBAIE5vZGUq
IEluc3BlY3RvckRPTUFnZW50Ojpub2RlRm9ySWQobG9uZyBpZCkKICAgICByZXR1cm4gMDsKIH0K
IAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0Q2hpbGROb2Rlcyhsb25nLCBsb25nIG5vZGVJ
ZCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldENoaWxkTm9kZXMobG9uZyBub2RlSWQpCiB7
CiAgICAgcHVzaENoaWxkTm9kZXNUb0Zyb250ZW5kKG5vZGVJZCk7CiB9CkBAIC00MzEsNyArNDMx
LDcgQEAgbG9uZyBJbnNwZWN0b3JET01BZ2VudDo6cHVzaE5vZGVQYXRoVG9Gcm9udGVuZChOb2Rl
KiBub2RlVG9QdXNoKQogICAgIHJldHVybiBtYXAtPmdldChub2RlVG9QdXNoKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0QXR0cmlidXRlKGxvbmcsIGxvbmcgZWxlbWVudElkLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3MpCit2
b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRBdHRyaWJ1dGUobG9uZyBlbGVtZW50SWQsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2VzcykKIHsKICAg
ICBOb2RlKiBub2RlID0gbm9kZUZvcklkKGVsZW1lbnRJZCk7CiAgICAgaWYgKG5vZGUgJiYgKG5v
ZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RUxFTUVOVF9OT0RFKSkgewpAQCAtNDQyLDcgKzQ0Miw3
IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldEF0dHJpYnV0ZShsb25nLCBsb25nIGVsZW1l
bnRJZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvckRP
TUFnZW50OjpyZW1vdmVBdHRyaWJ1dGUobG9uZywgbG9uZyBlbGVtZW50SWQsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgYm9vbCogc3VjY2VzcykKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZUF0
dHJpYnV0ZShsb25nIGVsZW1lbnRJZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sKiBzdWNjZXNz
KQogewogICAgIE5vZGUqIG5vZGUgPSBub2RlRm9ySWQoZWxlbWVudElkKTsKICAgICBpZiAobm9k
ZSAmJiAobm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpFTEVNRU5UX05PREUpKSB7CkBAIC00NTMs
NyArNDUzLDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVtb3ZlQXR0cmlidXRlKGxvbmcs
IGxvbmcgZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUKICAgICB9CiB9CiAKLXZvaWQgSW5z
cGVjdG9yRE9NQWdlbnQ6OnJlbW92ZU5vZGUobG9uZywgbG9uZyBub2RlSWQsIGxvbmcqIG91dE5v
ZGVJZCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZU5vZGUobG9uZyBub2RlSWQsIGxv
bmcqIG91dE5vZGVJZCkKIHsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7CiAg
ICAgaWYgKCFub2RlKQpAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6
OnJlbW92ZU5vZGUobG9uZywgbG9uZyBub2RlSWQsIGxvbmcqIG91dE5vZGVJZCkKICAgICAqb3V0
Tm9kZUlkID0gbm9kZUlkOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpjaGFuZ2VUYWdO
YW1lKGxvbmcsIGxvbmcgbm9kZUlkLCBjb25zdCBTdHJpbmcmIHRhZ05hbWUsIGxvbmcqIG5ld0lk
KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Y2hhbmdlVGFnTmFtZShsb25nIG5vZGVJZCwgY29u
c3QgU3RyaW5nJiB0YWdOYW1lLCBsb25nKiBuZXdJZCkKIHsKICAgICBOb2RlKiBvbGROb2RlID0g
bm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFvbGROb2RlIHx8ICFvbGROb2RlLT5pc0VsZW1l
bnROb2RlKCkpCkBAIC01MDYsNyArNTA2LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Y2hh
bmdlVGFnTmFtZShsb25nLCBsb25nIG5vZGVJZCwgY29uc3QgU3RyaW5nJiB0YWdOYW1lLAogICAg
ICAgICBwdXNoQ2hpbGROb2Rlc1RvRnJvbnRlbmQoKm5ld0lkKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6Z2V0T3V0ZXJIVE1MKGxvbmcsIGxvbmcgbm9kZUlkLCBXZWJDb3JlOjpTdHJp
bmcqIG91dGVySFRNTCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVySFRNTChsb25n
IG5vZGVJZCwgV2ViQ29yZTo6U3RyaW5nKiBvdXRlckhUTUwpCiB7CiAgICAgTm9kZSogbm9kZSA9
IG5vZGVGb3JJZChub2RlSWQpOwogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNIVE1MRWxlbWVu
dCgpKQpAQCAtNTE1LDcgKzUxNSw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVy
SFRNTChsb25nLCBsb25nIG5vZGVJZCwgV2ViQ29yZTo6U3RyaW5nKiBvdXRlckhUCiAgICAgKm91
dGVySFRNTCA9IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4obm9kZSktPm91dGVySFRNTCgpOwog
fQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRPdXRlckhUTUwobG9uZywgbG9uZyBub2Rl
SWQsIGNvbnN0IFN0cmluZyYgb3V0ZXJIVE1MLCBsb25nKiBuZXdJZCkKK3ZvaWQgSW5zcGVjdG9y
RE9NQWdlbnQ6OnNldE91dGVySFRNTChsb25nIG5vZGVJZCwgY29uc3QgU3RyaW5nJiBvdXRlckhU
TUwsIGxvbmcqIG5ld0lkKQogewogICAgIE5vZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlkKTsK
ICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlzSFRNTEVsZW1lbnQoKSkKQEAgLTUzOCw3ICs1Mzgs
NyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRPdXRlckhUTUwobG9uZywgbG9uZyBub2Rl
SWQsIGNvbnN0IFN0cmluZyYgb3V0ZXJIVE1MLAogICAgICAgICBwdXNoQ2hpbGROb2Rlc1RvRnJv
bnRlbmQoKm5ld0lkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0VGV4dE5vZGVW
YWx1ZShsb25nLCBsb25nIG5vZGVJZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vz
cykKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRleHROb2RlVmFsdWUobG9uZyBub2RlSWQs
IGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3MpCiB7CiAgICAgTm9kZSogbm9kZSA9
IG5vZGVGb3JJZChub2RlSWQpOwogICAgIGlmIChub2RlICYmIChub2RlLT5ub2RlVHlwZSgpID09
IE5vZGU6OlRFWFRfTk9ERSkpIHsKQEAgLTU0OSw3ICs1NDksNyBAQCB2b2lkIEluc3BlY3RvckRP
TUFnZW50OjpzZXRUZXh0Tm9kZVZhbHVlKGxvbmcsIGxvbmcgbm9kZUlkLCBjb25zdCBTdHJpbmcm
IHZhbHVlLAogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0RXZlbnRMaXN0
ZW5lcnNGb3JOb2RlKGxvbmcsIGxvbmcgbm9kZUlkLCBsb25nKiBvdXROb2RlSWQsIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4qIGxpc3RlbmVyc0FycmF5KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
Z2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKGxvbmcgbm9kZUlkLCBsb25nKiBvdXROb2RlSWQsIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4qIGxpc3RlbmVyc0FycmF5KQogewogICAgIE5vZGUqIG5vZGUg
PSBub2RlRm9ySWQobm9kZUlkKTsKICAgICAqb3V0Tm9kZUlkID0gbm9kZUlkOwpAQCAtOTcxLDcg
Kzk3MSw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZE1vZGlmeURPTUF0dHIoRWxlbWVu
dCogZWxlbWVudCkKICAgICBtX2Zyb250ZW5kLT5hdHRyaWJ1dGVzVXBkYXRlZChpZCwgYnVpbGRB
cnJheUZvckVsZW1lbnRBdHRyaWJ1dGVzKGVsZW1lbnQpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6Z2V0U3R5bGVzKGxvbmcsIGxvbmcgbm9kZUlkLCBib29sIGF1dGhvck9ubHksIFJl
ZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlcykKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6Omdl
dFN0eWxlcyhsb25nIG5vZGVJZCwgYm9vbCBhdXRob3JPbmx5LCBSZWZQdHI8SW5zcGVjdG9yVmFs
dWU+KiBzdHlsZXMpCiB7CiAgICAgTm9kZSogbm9kZSA9IG5vZGVGb3JJZChub2RlSWQpOwogICAg
IGlmICghbm9kZSB8fCBub2RlLT5ub2RlVHlwZSgpICE9IE5vZGU6OkVMRU1FTlRfTk9ERSkKQEAg
LTEwMTQsNyArMTAxNCw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldFN0eWxlcyhsb25n
LCBsb25nIG5vZGVJZCwgYm9vbCBhdXRob3JPbmx5LCBSZWZQdHI8SW5zCiAgICAgKnN0eWxlcyA9
IHJlc3VsdC5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldEFsbFN0
eWxlcyhsb25nLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBzdHlsZXMpCit2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpnZXRBbGxTdHlsZXMoUmVmUHRyPEluc3BlY3RvckFycmF5Piogc3R5bGVzKQog
ewogICAgIGZvciAoTGlzdEhhc2hTZXQ8UmVmUHRyPERvY3VtZW50PiA+OjppdGVyYXRvciBpdCA9
IG1fZG9jdW1lbnRzLmJlZ2luKCk7IGl0ICE9IG1fZG9jdW1lbnRzLmVuZCgpOyArK2l0KSB7CiAg
ICAgICAgIFN0eWxlU2hlZXRMaXN0KiBsaXN0ID0gKCppdCktPnN0eWxlU2hlZXRzKCk7CkBAIC0x
MDI2LDE0ICsxMDI2LDE0IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldEFsbFN0eWxlcyhs
b25nLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBzdHlsZXMpCiAgICAgfQogfQogCi12b2lkIElu
c3BlY3RvckRPTUFnZW50OjpnZXRTdHlsZVNoZWV0KGxvbmcsIGxvbmcgc3R5bGVTaGVldElkLCBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogc3R5bGVTaGVldE9iamVjdCkKK3ZvaWQgSW5zcGVjdG9y
RE9NQWdlbnQ6OmdldFN0eWxlU2hlZXQobG9uZyBzdHlsZVNoZWV0SWQsIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+KiBzdHlsZVNoZWV0T2JqZWN0KQogewogICAgIENTU1N0eWxlU2hlZXQqIHN0eWxl
U2hlZXQgPSBjc3NTdG9yZSgpLT5zdHlsZVNoZWV0Rm9ySWQoc3R5bGVTaGVldElkKTsKICAgICBp
ZiAoc3R5bGVTaGVldCAmJiBzdHlsZVNoZWV0LT5kb2MoKSkKICAgICAgICAgKnN0eWxlU2hlZXRP
YmplY3QgPSBidWlsZE9iamVjdEZvclN0eWxlU2hlZXQoc3R5bGVTaGVldC0+ZG9jKCksIHN0eWxl
U2hlZXQpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRSdWxlUmFuZ2VzKGxvbmcs
IGxvbmcgc3R5bGVTaGVldElkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlUmFuZ2UpCit2
b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRSdWxlUmFuZ2VzKGxvbmcgc3R5bGVTaGVldElkLCBS
ZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlUmFuZ2UpCiB7CiAgICAgQ1NTU3R5bGVTaGVldCog
c3R5bGVTaGVldCA9IGNzc1N0b3JlKCktPnN0eWxlU2hlZXRGb3JJZChzdHlsZVNoZWV0SWQpOwog
ICAgIGlmIChzdHlsZVNoZWV0ICYmIHN0eWxlU2hlZXQtPmRvYygpKSB7CkBAIC0xMDU1LDcgKzEw
NTUsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRSdWxlUmFuZ2VzKGxvbmcsIGxvbmcg
c3R5bGVTaGVldElkLCBSZWZQdHI8SW5zcGVjdG9yVgogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6Z2V0SW5saW5lU3R5bGUobG9uZywgbG9uZyBub2RlSWQsIFJlZlB0cjxJbnNw
ZWN0b3JWYWx1ZT4qIHN0eWxlKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0SW5saW5lU3R5
bGUobG9uZyBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlKQogewogICAgIE5v
ZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUgfHwgbm9kZS0+bm9k
ZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUpCkBAIC0xMDYzLDcgKzEwNjMsNyBAQCB2b2lk
IEluc3BlY3RvckRPTUFnZW50OjpnZXRJbmxpbmVTdHlsZShsb25nLCBsb25nIG5vZGVJZCwgUmVm
UHRyPEluc3BlY3RvclZhbHVlPgogICAgICpzdHlsZSA9IGJ1aWxkT2JqZWN0Rm9yU3R5bGUoc3Rh
dGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5zdHlsZSgpLCB0cnVlKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6Z2V0Q29tcHV0ZWRTdHlsZShsb25nLCBsb25nIG5vZGVJZCwgUmVmUHRy
PEluc3BlY3RvclZhbHVlPiogc3R5bGUpCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRDb21w
dXRlZFN0eWxlKGxvbmcgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBzdHlsZSkKIHsK
ICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFub2RlIHx8IG5v
ZGUtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RUxFTUVOVF9OT0RFKQpAQCAtMTEyMCw3ICsxMTIwLDcg
QEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkQXJy
YXlGb3JQc2V1ZG9FbGVtZW50cyhFbGVtZW4KICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6YXBwbHlTdHlsZVRleHQobG9uZywgbG9uZyBz
dHlsZUlkLCBjb25zdCBTdHJpbmcmIHN0eWxlVGV4dCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5h
bWUsIGJvb2wqIHN1Y2Nlc3MsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlT2JqZWN0LCBS
ZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjaGFuZ2VkUHJvcGVydGllc0FycmF5KQordm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6YXBwbHlTdHlsZVRleHQobG9uZyBzdHlsZUlkLCBjb25zdCBTdHJpbmcm
IHN0eWxlVGV4dCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGJvb2wqIHN1Y2Nlc3MsIFJl
ZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlT2JqZWN0LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBjaGFuZ2VkUHJvcGVydGllc0FycmF5KQogewogICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0
eWxlID0gY3NzU3RvcmUoKS0+c3R5bGVGb3JJZChzdHlsZUlkKTsKICAgICBpZiAoIXN0eWxlKQpA
QCAtMTIwMiw3ICsxMjAyLDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6YXBwbHlTdHlsZVRl
eHQobG9uZywgbG9uZyBzdHlsZUlkLCBjb25zdCBTdHJpbmcmIHN0eWxlVGUKICAgICAqY2hhbmdl
ZFByb3BlcnRpZXNBcnJheSA9IHRvQXJyYXkoY2hhbmdlZFByb3BlcnRpZXMpOwogfQogCi12b2lk
IEluc3BlY3RvckRPTUFnZW50OjpzZXRTdHlsZVRleHQobG9uZywgbG9uZyBzdHlsZUlkLCBjb25z
dCBTdHJpbmcmIGNzc1RleHQsIGJvb2wqIHN1Y2Nlc3MpCit2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpzZXRTdHlsZVRleHQobG9uZyBzdHlsZUlkLCBjb25zdCBTdHJpbmcmIGNzc1RleHQsIGJvb2wq
IHN1Y2Nlc3MpCiB7CiAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUgPSBjc3NTdG9yZSgp
LT5zdHlsZUZvcklkKHN0eWxlSWQpOwogICAgIGlmICghc3R5bGUpCkBAIC0xMjEyLDcgKzEyMTIs
NyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRTdHlsZVRleHQobG9uZywgbG9uZyBzdHls
ZUlkLCBjb25zdCBTdHJpbmcmIGNzc1RleHQsCiAgICAgKnN1Y2Nlc3MgPSAhZWM7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFN0eWxlUHJvcGVydHkobG9uZywgbG9uZyBzdHlsZUlk
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3Mp
Cit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRTdHlsZVByb3BlcnR5KGxvbmcgc3R5bGVJZCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKQog
ewogICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlID0gY3NzU3RvcmUoKS0+c3R5bGVGb3JJ
ZChzdHlsZUlkKTsKICAgICBpZiAoIXN0eWxlKQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgdm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6c2V0U3R5bGVQcm9wZXJ0eShsb25nLCBsb25nIHN0eWxlSWQsIGNv
bnN0IFN0cmluZyYgbmFtZSwKICAgICAqc3VjY2VzcyA9ICFlYzsKIH0KIAotdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6dG9nZ2xlU3R5bGVFbmFibGVkKGxvbmcsIGxvbmcgc3R5bGVJZCwgY29uc3Qg
U3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGJvb2wgZGlzYWJsZWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1
ZT4qIHN0eWxlT2JqZWN0KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6dG9nZ2xlU3R5bGVFbmFi
bGVkKGxvbmcgc3R5bGVJZCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGJvb2wgZGlzYWJs
ZWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlT2JqZWN0KQogewogICAgIENTU1N0eWxl
RGVjbGFyYXRpb24qIHN0eWxlID0gY3NzU3RvcmUoKS0+c3R5bGVGb3JJZChzdHlsZUlkKTsKICAg
ICBpZiAoIXN0eWxlKQpAQCAtMTI0OCw3ICsxMjQ4LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6dG9nZ2xlU3R5bGVFbmFibGVkKGxvbmcsIGxvbmcgc3R5bGVJZCwgY29uc3QgU3RyaW5nJiBw
cm8KICAgICAqc3R5bGVPYmplY3QgPSBidWlsZE9iamVjdEZvclN0eWxlKHN0eWxlLCB0cnVlKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0UnVsZVNlbGVjdG9yKGxvbmcsIGxvbmcg
cnVsZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25nIHNlbGVjdGVkTm9kZUlkLCBSZWZQ
dHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29sKiBzZWxlY3RvckFmZmVjdHNOb2Rl
KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0UnVsZVNlbGVjdG9yKGxvbmcgcnVsZUlkLCBj
b25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25nIHNlbGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5zcGVj
dG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29sKiBzZWxlY3RvckFmZmVjdHNOb2RlKQogewogICAg
IENTU1N0eWxlUnVsZSogcnVsZSA9IGNzc1N0b3JlKCktPnJ1bGVGb3JJZChydWxlSWQpOwogICAg
IGlmICghcnVsZSkKQEAgLTEyNzcsNyArMTI3Nyw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6
OnNldFJ1bGVTZWxlY3Rvcihsb25nLCBsb25nIHJ1bGVJZCwgY29uc3QgU3RyaW5nJiBzZWxlY3Rv
CiAgICAgKnJ1bGVPYmplY3QgPSBidWlsZE9iamVjdEZvclJ1bGUobm9kZS0+b3duZXJEb2N1bWVu
dCgpLCBuZXdSdWxlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6YWRkUnVsZShsb25n
LCBjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25nIHNlbGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5z
cGVjdG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29sKiBzZWxlY3RvckFmZmVjdHNOb2RlKQordm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6YWRkUnVsZShjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25n
IHNlbGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29s
KiBzZWxlY3RvckFmZmVjdHNOb2RlKQogewogICAgIE5vZGUqIG5vZGUgPSBub2RlRm9ySWQoc2Vs
ZWN0ZWROb2RlSWQpOwogICAgIGlmICghbm9kZSkKQEAgLTE1NjcsNyArMTU2Nyw3IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OmNvcHlOb2RlKGxvbmcgbm9kZUlkKQogICAgIFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlUGxhaW5UZXh0KG1hcmt1cCk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlQnlQYXRoVG9Gcm9udGVuZChsb25nLCBjb25zdCBT
dHJpbmcmIHBhdGgsIGxvbmcqIG5vZGVJZCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hO
b2RlQnlQYXRoVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmIHBhdGgsIGxvbmcqIG5vZGVJZCkKIHsK
ICAgICBpZiAoTm9kZSogbm9kZSA9IG5vZGVGb3JQYXRoKHBhdGgpKQogICAgICAgICAqbm9kZUlk
ID0gcHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5oCmluZGV4IDlmY2Y5NWQuLjQ5MmI3ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuaApAQCAtMTAwLDMyICsxMDAsMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiBvdGhl
cik7CiAKICAgICAgICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgZnJvbnRlbmQgZm9yIERP
TSBub2RlcyBpbnNwZWN0aW9uLgotICAgICAgICB2b2lkIGdldENoaWxkTm9kZXMobG9uZyBjYWxs
SWQsIGxvbmcgbm9kZUlkKTsKLSAgICAgICAgdm9pZCBzZXRBdHRyaWJ1dGUobG9uZyBjYWxsSWQs
IGxvbmcgZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUs
IGJvb2wqIHN1Y2Nlc3MpOwotICAgICAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZShsb25nIGNhbGxJ
ZCwgbG9uZyBlbGVtZW50SWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCogc3VjY2Vzcyk7Ci0g
ICAgICAgIHZvaWQgcmVtb3ZlTm9kZShsb25nIGNhbGxJZCwgbG9uZyBub2RlSWQsIGxvbmcqIG91
dE5vZGVJZCk7Ci0gICAgICAgIHZvaWQgY2hhbmdlVGFnTmFtZShsb25nIGNhbGxJZCwgbG9uZyBu
b2RlSWQsIGNvbnN0IFN0cmluZyYgdGFnTmFtZSwgbG9uZyogbmV3SWQpOwotICAgICAgICB2b2lk
IGdldE91dGVySFRNTChsb25nIGNhbGxJZCwgbG9uZyBub2RlSWQsIFdlYkNvcmU6OlN0cmluZyog
b3V0ZXJIVE1MKTsKLSAgICAgICAgdm9pZCBzZXRPdXRlckhUTUwobG9uZyBjYWxsSWQsIGxvbmcg
bm9kZUlkLCBjb25zdCBTdHJpbmcmIG91dGVySFRNTCwgbG9uZyogbmV3SWQpOwotICAgICAgICB2
b2lkIHNldFRleHROb2RlVmFsdWUobG9uZyBjYWxsSWQsIGxvbmcgbm9kZUlkLCBjb25zdCBTdHJp
bmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKTsKLSAgICAgICAgdm9pZCBnZXRFdmVudExpc3RlbmVy
c0Zvck5vZGUobG9uZyBjYWxsSWQsIGxvbmcgbm9kZUlkLCBsb25nKiBvdXROb2RlSWQsIFJlZlB0
cjxJbnNwZWN0b3JBcnJheT4qIGxpc3RlbmVyc0FycmF5KTsKKyAgICAgICAgdm9pZCBnZXRDaGls
ZE5vZGVzKGxvbmcgbm9kZUlkKTsKKyAgICAgICAgdm9pZCBzZXRBdHRyaWJ1dGUobG9uZyBlbGVt
ZW50SWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3Vj
Y2Vzcyk7CisgICAgICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlKGxvbmcgZWxlbWVudElkLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGJvb2wqIHN1Y2Nlc3MpOworICAgICAgICB2b2lkIHJlbW92ZU5vZGUo
bG9uZyBub2RlSWQsIGxvbmcqIG91dE5vZGVJZCk7CisgICAgICAgIHZvaWQgY2hhbmdlVGFnTmFt
ZShsb25nIG5vZGVJZCwgY29uc3QgU3RyaW5nJiB0YWdOYW1lLCBsb25nKiBuZXdJZCk7CisgICAg
ICAgIHZvaWQgZ2V0T3V0ZXJIVE1MKGxvbmcgbm9kZUlkLCBXZWJDb3JlOjpTdHJpbmcqIG91dGVy
SFRNTCk7CisgICAgICAgIHZvaWQgc2V0T3V0ZXJIVE1MKGxvbmcgbm9kZUlkLCBjb25zdCBTdHJp
bmcmIG91dGVySFRNTCwgbG9uZyogbmV3SWQpOworICAgICAgICB2b2lkIHNldFRleHROb2RlVmFs
dWUobG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3MpOworICAg
ICAgICB2b2lkIGdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShsb25nIG5vZGVJZCwgbG9uZyogb3V0
Tm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBsaXN0ZW5lcnNBcnJheSk7CiAgICAgICAg
IHZvaWQgYWRkSW5zcGVjdGVkTm9kZShsb25nIG5vZGVJZCk7CiAgICAgICAgIHZvaWQgcGVyZm9y
bVNlYXJjaChjb25zdCBTdHJpbmcmIHdoaXRlc3BhY2VUcmltbWVkUXVlcnksIGJvb2wgcnVuU3lu
Y2hyb25vdXNseSk7CiAgICAgICAgIHZvaWQgc2VhcmNoQ2FuY2VsZWQoKTsKIAogICAgICAgICAv
LyBNZXRob2RzIGNhbGxlZCBmcm9tIHRoZSBmcm9udGVuZCBmb3IgQ1NTIHN0eWxlcyBpbnNwZWN0
aW9uLgotICAgICAgICB2b2lkIGdldFN0eWxlcyhsb25nIGNhbGxJZCwgbG9uZyBub2RlSWQsIGJv
b2wgYXV0aG9yT25seSwgUmVmUHRyPEluc3BlY3RvclZhbHVlPiogc3R5bGVzKTsKLSAgICAgICAg
dm9pZCBnZXRBbGxTdHlsZXMobG9uZyBjYWxsSWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHN0
eWxlcyk7Ci0gICAgICAgIHZvaWQgZ2V0SW5saW5lU3R5bGUobG9uZyBjYWxsSWQsIGxvbmcgbm9k
ZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBzdHlsZXMpOwotICAgICAgICB2b2lkIGdldENv
bXB1dGVkU3R5bGUobG9uZyBjYWxsSWQsIGxvbmcgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFs
dWU+KiBzdHlsZXMpOwotICAgICAgICB2b2lkIGdldFN0eWxlU2hlZXQobG9uZyBjYWxsSWQsIGxv
bmcgc3R5bGVTaGVldElkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogc3R5bGVTaGVldE9iamVj
dCk7Ci0gICAgICAgIHZvaWQgZ2V0UnVsZVJhbmdlcyhsb25nIGNhbGxJZCwgbG9uZyBzdHlsZVNo
ZWV0SWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHJ1bGVSYW5nZSk7Ci0gICAgICAgIHZvaWQg
YXBwbHlTdHlsZVRleHQobG9uZyBjYWxsSWQsIGxvbmcgc3R5bGVJZCwgY29uc3QgU3RyaW5nJiBz
dHlsZVRleHQsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBib29sKiBzdWNjZXNzLCBSZWZQ
dHI8SW5zcGVjdG9yVmFsdWU+KiBzdHlsZU9iamVjdCwgUmVmUHRyPEluc3BlY3RvckFycmF5Piog
Y2hhbmdlZFByb3BlcnRpZXMpOwotICAgICAgICB2b2lkIHNldFN0eWxlVGV4dChsb25nIGNhbGxJ
ZCwgbG9uZyBzdHlsZUlkLCBjb25zdCBTdHJpbmcmIGNzc1RleHQsIGJvb2wqIHN1Y2Nlc3MpOwot
ICAgICAgICB2b2lkIHNldFN0eWxlUHJvcGVydHkobG9uZyBjYWxsSWQsIGxvbmcgc3R5bGVJZCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKTsK
LSAgICAgICAgdm9pZCB0b2dnbGVTdHlsZUVuYWJsZWQobG9uZyBjYWxsSWQsIGxvbmcgc3R5bGVJ
ZCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGJvb2wgZGlzYWJsZWQsIFJlZlB0cjxJbnNw
ZWN0b3JWYWx1ZT4qIHN0eWxlT2JqZWN0KTsKLSAgICAgICAgdm9pZCBzZXRSdWxlU2VsZWN0b3Io
bG9uZyBjYWxsSWQsIGxvbmcgcnVsZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25nIHNl
bGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29sKiBz
ZWxlY3RvckFmZmVjdHNOb2RlKTsKLSAgICAgICAgdm9pZCBhZGRSdWxlKGxvbmcgY2FsbElkLCBj
b25zdCBTdHJpbmcmIHNlbGVjdG9yLCBsb25nIHNlbGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5zcGVj
dG9yVmFsdWU+KiBydWxlT2JqZWN0LCBib29sKiBzZWxlY3RvckFmZmVjdHNOb2RlKTsKKyAgICAg
ICAgdm9pZCBnZXRTdHlsZXMobG9uZyBub2RlSWQsIGJvb2wgYXV0aG9yT25seSwgUmVmUHRyPElu
c3BlY3RvclZhbHVlPiogc3R5bGVzKTsKKyAgICAgICAgdm9pZCBnZXRBbGxTdHlsZXMoUmVmUHRy
PEluc3BlY3RvckFycmF5Piogc3R5bGVzKTsKKyAgICAgICAgdm9pZCBnZXRJbmxpbmVTdHlsZShs
b25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvclZhbHVlPiogc3R5bGVzKTsKKyAgICAgICAgdm9p
ZCBnZXRDb21wdXRlZFN0eWxlKGxvbmcgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBz
dHlsZXMpOworICAgICAgICB2b2lkIGdldFN0eWxlU2hlZXQobG9uZyBzdHlsZVNoZWV0SWQsIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBzdHlsZVNoZWV0T2JqZWN0KTsKKyAgICAgICAgdm9pZCBn
ZXRSdWxlUmFuZ2VzKGxvbmcgc3R5bGVTaGVldElkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBy
dWxlUmFuZ2UpOworICAgICAgICB2b2lkIGFwcGx5U3R5bGVUZXh0KGxvbmcgc3R5bGVJZCwgY29u
c3QgU3RyaW5nJiBzdHlsZVRleHQsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBib29sKiBz
dWNjZXNzLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBzdHlsZU9iamVjdCwgUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiogY2hhbmdlZFByb3BlcnRpZXMpOworICAgICAgICB2b2lkIHNldFN0eWxlVGV4
dChsb25nIHN0eWxlSWQsIGNvbnN0IFN0cmluZyYgY3NzVGV4dCwgYm9vbCogc3VjY2Vzcyk7Cisg
ICAgICAgIHZvaWQgc2V0U3R5bGVQcm9wZXJ0eShsb25nIHN0eWxlSWQsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7CisgICAgICAgIHZvaWQg
dG9nZ2xlU3R5bGVFbmFibGVkKGxvbmcgc3R5bGVJZCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5h
bWUsIGJvb2wgZGlzYWJsZWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHN0eWxlT2JqZWN0KTsK
KyAgICAgICAgdm9pZCBzZXRSdWxlU2VsZWN0b3IobG9uZyBydWxlSWQsIGNvbnN0IFN0cmluZyYg
c2VsZWN0b3IsIGxvbmcgc2VsZWN0ZWROb2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHJ1
bGVPYmplY3QsIGJvb2wqIHNlbGVjdG9yQWZmZWN0c05vZGUpOworICAgICAgICB2b2lkIGFkZFJ1
bGUoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgbG9uZyBzZWxlY3RlZE5vZGVJZCwgUmVmUHRyPElu
c3BlY3RvclZhbHVlPiogcnVsZU9iamVjdCwgYm9vbCogc2VsZWN0b3JBZmZlY3RzTm9kZSk7CiAK
ICAgICAgICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgSW5zcGVjdG9yQ29udHJvbGxlci4K
ICAgICAgICAgdm9pZCBzZXREb2N1bWVudChEb2N1bWVudCogZG9jdW1lbnQpOwpAQCAtMTM4LDcg
KzEzOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTm9kZSogbm9kZUZvcklkKGxv
bmcgbm9kZUlkKTsKICAgICAgICAgbG9uZyBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKE5vZGUqIG5v
ZGUpOwogICAgICAgICB2b2lkIHB1c2hDaGlsZE5vZGVzVG9Gcm9udGVuZChsb25nIG5vZGVJZCk7
Ci0gICAgICAgIHZvaWQgcHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKGxvbmcgY2FsbElkLCBjb25z
dCBTdHJpbmcmIHBhdGgsIGxvbmcqIG5vZGVJZCk7CisgICAgICAgIHZvaWQgcHVzaE5vZGVCeVBh
dGhUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgcGF0aCwgbG9uZyogbm9kZUlkKTsKICAgICAgICAg
bG9uZyBpbnNwZWN0ZWROb2RlKHVuc2lnbmVkIGxvbmcgbnVtKTsKICAgICAgICAgdm9pZCBjb3B5
Tm9kZShsb25nIG5vZGVJZCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5jcHAKaW5kZXggM2E1ODJjOC4uYTYxN2U3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50OjpkZWFjdGl2YXRlQnJlYWtwb2ludHMoKQogICAgIFNjcmlwdERl
YnVnU2VydmVyOjpzaGFyZWQoKS5kZWFjdGl2YXRlQnJlYWtwb2ludHMoKTsKIH0KIAotdm9pZCBJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRCcmVha3BvaW50KGxvbmcsIGNvbnN0IFN0cmluZyYg
c291cmNlSUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGJvb2wgZW5hYmxlZCwgY29uc3QgU3RyaW5n
JiBjb25kaXRpb24sIGJvb2wqIHN1Y2Nlc3MsIHVuc2lnbmVkIGludCogYWN0dWFsTGluZU51bWJl
cikKK3ZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0QnJlYWtwb2ludChjb25zdCBTdHJp
bmcmIHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBib29sIGVuYWJsZWQsIGNvbnN0IFN0
cmluZyYgY29uZGl0aW9uLCBib29sKiBzdWNjZXNzLCB1bnNpZ25lZCBpbnQqIGFjdHVhbExpbmVO
dW1iZXIpCiB7CiAgICAgU2NyaXB0QnJlYWtwb2ludCBicmVha3BvaW50KGVuYWJsZWQsIGNvbmRp
dGlvbik7CiAgICAgKnN1Y2Nlc3MgPSBTY3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkuc2V0QnJl
YWtwb2ludChzb3VyY2VJRCwgYnJlYWtwb2ludCwgbGluZU51bWJlciwgYWN0dWFsTGluZU51bWJl
cik7CkBAIC0xMjcsMTMgKzEyNywxMyBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJl
bW92ZUJyZWFrcG9pbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgdW5zaWduZWQgbAogICAgIHNh
dmVCcmVha3BvaW50cygpOwogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmVkaXRT
Y3JpcHRTb3VyY2UobG9uZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5nJiBu
ZXdDb250ZW50LCBib29sKiBzdWNjZXNzLCBTdHJpbmcqIHJlc3VsdCwgUmVmUHRyPEluc3BlY3Rv
clZhbHVlPiogbmV3Q2FsbEZyYW1lcykKK3ZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZWRp
dFNjcmlwdFNvdXJjZShjb25zdCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTdHJpbmcmIG5ld0Nv
bnRlbnQsIGJvb2wqIHN1Y2Nlc3MsIFN0cmluZyogcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yVmFs
dWU+KiBuZXdDYWxsRnJhbWVzKQogewogICAgIGlmICgoKnN1Y2Nlc3MgPSBTY3JpcHREZWJ1Z1Nl
cnZlcjo6c2hhcmVkKCkuZWRpdFNjcmlwdFNvdXJjZShzb3VyY2VJRCwgbmV3Q29udGVudCwgKnJl
c3VsdCkpKQogICAgICAgICAqbmV3Q2FsbEZyYW1lcyA9IGN1cnJlbnRDYWxsRnJhbWVzKCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Z2V0U2NyaXB0U291cmNlKGxvbmcsIGNv
bnN0IFN0cmluZyYgc291cmNlSUQsIFN0cmluZyogc2NyaXB0U291cmNlKQordm9pZCBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50OjpnZXRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwg
U3RyaW5nKiBzY3JpcHRTb3VyY2UpCiB7CiAgICAgKnNjcmlwdFNvdXJjZSA9IG1fc2NyaXB0SURU
b0NvbnRlbnQuZ2V0KHNvdXJjZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaAppbmRleCAxNjViZjRmLi5mZTUzM2M3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01NCwxMSArNTQsMTEgQEAgcHVibGljOgog
CiAgICAgdm9pZCBhY3RpdmF0ZUJyZWFrcG9pbnRzKCk7CiAgICAgdm9pZCBkZWFjdGl2YXRlQnJl
YWtwb2ludHMoKTsKLSAgICB2b2lkIHNldEJyZWFrcG9pbnQobG9uZyBjYWxsSWQsIGNvbnN0IFN0
cmluZyYgc291cmNlSUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGJvb2wgZW5hYmxlZCwgY29uc3Qg
U3RyaW5nJiBjb25kaXRpb24sIGJvb2wqIHN1Y2Nlc3MsIHVuc2lnbmVkIGludCogYWN0dWFsTGlu
ZU51bWJlcik7CisgICAgdm9pZCBzZXRCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgc291cmNlSUQs
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIGJvb2wgZW5hYmxlZCwgY29uc3QgU3RyaW5nJiBjb25kaXRp
b24sIGJvb2wqIHN1Y2Nlc3MsIHVuc2lnbmVkIGludCogYWN0dWFsTGluZU51bWJlcik7CiAgICAg
dm9pZCByZW1vdmVCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgc291cmNlSUQsIHVuc2lnbmVkIGxp
bmVOdW1iZXIpOwogCi0gICAgdm9pZCBlZGl0U2NyaXB0U291cmNlKGxvbmcgY2FsbElkLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTdHJpbmcmIG5ld0NvbnRlbnQsIGJvb2wqIHN1Y2Nl
c3MsIFN0cmluZyogcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBuZXdDYWxsRnJhbWVz
KTsKLSAgICB2b2lkIGdldFNjcmlwdFNvdXJjZShsb25nIGNhbGxJZCwgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCwgU3RyaW5nKiBzY3JpcHRTb3VyY2UpOworICAgIHZvaWQgZWRpdFNjcmlwdFNvdXJj
ZShjb25zdCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTdHJpbmcmIG5ld0NvbnRlbnQsIGJvb2wq
IHN1Y2Nlc3MsIFN0cmluZyogcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBuZXdDYWxs
RnJhbWVzKTsKKyAgICB2b2lkIGdldFNjcmlwdFNvdXJjZShjb25zdCBTdHJpbmcmIHNvdXJjZUlE
LCBTdHJpbmcqIHNjcmlwdFNvdXJjZSk7CiAKICAgICB2b2lkIHBhdXNlKCk7CiAgICAgdm9pZCBy
ZXN1bWUoKTsK
</data>
<flag name="review"
          id="52333"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>