<?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>233590</bug_id>
          
          <creation_ts>2021-11-29 13:04:58 -0800</creation_ts>
          <short_desc>[LFC][IFC] Split InlineDisplayContentBuilder::processBidiContent into createDisplayBoxesInVisualOrderWithLogicalGeometry and computeVisualGeometry</short_desc>
          <delta_ts>2021-12-01 16:02:36 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1818427</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-11-29 13:04:58 -0800</bug_when>
    <thetext>just moving code around</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818428</commentid>
    <comment_count>1</comment_count>
      <attachid>445329</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-11-29 13:06:33 -0800</bug_when>
    <thetext>Created attachment 445329
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445329</attachid>
            <date>2021-11-29 13:06:33 -0800</date>
            <delta_ts>2021-11-29 13:06:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233590-20211129130632.patch</filename>
            <type>text/plain</type>
            <size>13332</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg0MTA1YzQ2OTJhZDJk
ZDdmYWZlZjc1ZGI2NTBkYTFjOGU4M2U3MS4uN2QwODFhNDI4MTg2ZWQyZWQyZWY4ODg0MTU1MzQ4
OGI5MmM5YzM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTExLTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIFNwbGl0IElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50IGludG8gY3JlYXRl
RGlzcGxheUJveGVzSW5WaXN1YWxPcmRlcldpdGhMb2dpY2FsR2VvbWV0cnkgYW5kIGNvbXB1dGVW
aXN1YWxHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzNTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlIGNyZWF0ZURpc3BsYXlCb3hlc0luVmlzdWFsT3JkZXJXaXRoTG9naWNh
bEdlb21ldHJ5IHRvIG1ha2UgdGhlIGNvZGUgbG9vayBjbGVhbmVyLgorICAgICAgICBObyBmdW5j
dGlvbmFsaXR5IGNoYW5nZS4KKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50
KToKKwogMjAyMS0xMS0yOSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bSUZDXSBDb21wdXRlIHZpc3VhbCBnZW9tZXRyeSBmb3IgYmlkaSBjb250ZW50IGlu
Y2x1ZGluZyBmcmFnbWVudGVkIGlubGluZSBib3hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMWFmMmZhZDg4NDI2ZDAw
MDJhMmRiMTYxZTBmMzc3MjM4YzlhMTUxOC4uYzY5ZDU3NTQxYzIwM2Y3YmE1NWM2ZTgzMjcxYmNh
NzQwNDM0NWI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXIuY3BwCkBAIC0zNDYsMTA4ICszNDYsOTkgQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25CaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRl
cjo6TGluZUMKIAogdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRp
Q29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25z
dCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbGluZUJveExvZ2lj
YWxUb3BMZWZ0LCBEaXNwbGF5Qm94ZXMmIGJveGVzKQogewotICAgIC8vIENyZWF0ZSB0aGUgaW5s
aW5lIGJveGVzIG9uIHRoZSBjdXJyZW50IGxpbmUuIFRoaXMgaXMgbW9zdGx5IHRleHQgYW5kIGF0
b21pYyBpbmxpbmUgYm94ZXMuCi0gICAgYXV0byYgcnVucyA9IGxpbmVDb250ZW50LnJ1bnM7Ci0g
ICAgQVNTRVJUKGxpbmVDb250ZW50LnZpc3VhbE9yZGVyTGlzdC5zaXplKCkgPT0gcnVucy5zaXpl
KCkpOworICAgIEFTU0VSVChsaW5lQ29udGVudC52aXN1YWxPcmRlckxpc3Quc2l6ZSgpID09IGxp
bmVDb250ZW50LnJ1bnMuc2l6ZSgpKTsKIAotICAgIGF1dG8gcm9vdElubGluZUJveFJlY3QgPSBs
aW5lQm94LmxvZ2ljYWxSZWN0Rm9yUm9vdElubGluZUJveCgpOwotICAgIGF1dG8gY29udGVudFJp
Z2h0SW5WaXN1YWxPcmRlciA9IGxpbmVCb3hMb2dpY2FsVG9wTGVmdC54KCk7Ci0gICAgLy8gRmly
c3QgdmlzdWFsIHJ1bidzIGluaXRpYWwgY29udGVudCBwb3NpdGlvbiBkZXBlbmRzIG9uIHRoZSBi
bG9jaydzIGlubGluZSBkaXJlY3Rpb24uCi0gICAgaWYgKCFyb290KCkuc3R5bGUoKS5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdGhlIGJs
b2NrIGVuZCBwb3NpdGlvbiBpbnN0ZWFkIG9mIHRoZSBsaW5lTG9naWNhbFdpZHRoLgotICAgICAg
ICBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyICs9IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lk
dGggLSByb290SW5saW5lQm94UmVjdC53aWR0aCgpOwotICAgIH0KLSAgICAvLyBBZGp1c3QgdGhl
IGNvbnRlbnQgc3RhcnQgcG9zaXRpb24gd2l0aCB0aGUgKHRleHQpYWxpZ25tZW50IG9mZnNldCAo
cm9vdCBpbmxpbmUgYm94IGhhcyB0aGUgYWxpZ25tZW50IG9mZnNldCBhbmQgbm90IHRoZSBpbmRp
dmlkdWFsIHJ1bnMpLgotICAgIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgKz0gcm9vdElubGlu
ZUJveFJlY3QubGVmdCgpOwotICAgIFZlY3RvcjxzaXplX3Q+IGlubGluZUJveFN0YWNrOwotICAg
IGlubGluZUJveFN0YWNrLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGluZUJveC5ub25Sb290SW5s
aW5lTGV2ZWxCb3hlcygpLnNpemUoKSk7Ci0gICAgLy8gVGhpcyBtYXAga2VlcHMgdHJhY2sgb2Yg
dGhlIF9sYXN0XyBkaXNwbGF5IGJveCBmb3IgYSBnaXZlbiBpbmxpbmUgYm94LiAKLSAgICBIYXNo
TWFwPGNvbnN0IEJveCosIHNpemVfdD4gaW5saW5lQm94RGlzcGxheUJveE1hcDsKLQotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcnVucy5zaXplKCk7ICsraSkgewotICAgICAgICBhdXRvIHZp
c3VhbEluZGV4ID0gbGluZUNvbnRlbnQudmlzdWFsT3JkZXJMaXN0W2ldOwotICAgICAgICBhdXRv
JiBsaW5lUnVuID0gcnVuc1t2aXN1YWxJbmRleF07Ci0KLSAgICAgICAgYXV0byBpc0NvbnRlbnRS
dW4gPSAhbGluZVJ1bi5pc0lubGluZUJveFN0YXJ0KCkgJiYgIWxpbmVSdW4uaXNMaW5lU3Bhbm5p
bmdJbmxpbmVCb3hTdGFydCgpICYmICFsaW5lUnVuLmlzSW5saW5lQm94RW5kKCkgJiYgIWxpbmVS
dW4uaXNXb3JkQnJlYWtPcHBvcnR1bml0eSgpOwotICAgICAgICBpZiAoIWlzQ29udGVudFJ1bikK
LSAgICAgICAgICAgIGNvbnRpbnVlOworICAgIGF1dG8gY3JlYXRlRGlzcGxheUJveGVzSW5WaXN1
YWxPcmRlcldpdGhMb2dpY2FsR2VvbWV0cnkgPSBbJl0geworICAgICAgICBWZWN0b3I8c2l6ZV90
PiBpbmxpbmVCb3hTdGFjazsKKyAgICAgICAgaW5saW5lQm94U3RhY2sucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkuc2l6ZSgpKTsKKyAgICAg
ICAgSGFzaE1hcDxjb25zdCBCb3gqLCBzaXplX3Q+IGlubGluZUJveERpc3BsYXlCb3hNYXA7CiAK
LSAgICAgICAgYXV0byBkaXNwbGF5Qm94UmVjdCA9IFsmXSB7Ci0gICAgICAgICAgICBhdXRvJiBs
YXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwotICAgICAgICAgICAgYXV0byBsb2dpY2Fs
UmVjdCA9IElubGluZVJlY3QgeyB9OwotICAgICAgICAgICAgYXV0byBtYXJnaW5TdGFydCA9IHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4geyB9OworICAgICAgICBhdXRvJiBydW5zID0gbGluZUNv
bnRlbnQucnVuczsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBydW5zLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICBhdXRvIHZpc3VhbEluZGV4ID0gbGluZUNvbnRlbnQudmlzdWFs
T3JkZXJMaXN0W2ldOworICAgICAgICAgICAgYXV0byYgbGluZVJ1biA9IHJ1bnNbdmlzdWFsSW5k
ZXhdOwogCi0gICAgICAgICAgICBpZiAobGluZVJ1bi5pc1RleHQoKSB8fCBsaW5lUnVuLmlzU29m
dExpbmVCcmVhaygpKQotICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dp
Y2FsUmVjdEZvclRleHRSdW4obGluZVJ1bik7CisgICAgICAgICAgICBhdXRvIGlzQ29udGVudFJ1
biA9ICFsaW5lUnVuLmlzSW5saW5lQm94U3RhcnQoKSAmJiAhbGluZVJ1bi5pc0xpbmVTcGFubmlu
Z0lubGluZUJveFN0YXJ0KCkgJiYgIWxpbmVSdW4uaXNJbmxpbmVCb3hFbmQoKSAmJiAhbGluZVJ1
bi5pc1dvcmRCcmVha09wcG9ydHVuaXR5KCk7CisgICAgICAgICAgICBpZiAoIWlzQ29udGVudFJ1
bikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgYXV0byBoYW5kbGVJ
bmxpbmVCb3hCb3VuZGFyaWVzSWZBcHBsaWNhYmxlID0gWyZdIHsKKyAgICAgICAgICAgICAgICAv
LyBWaXN1YWwgb3JkZXIgY291bGQgaW50cm9kdWNlIGdhcHMgYW5kL29yIGluamVjdCBydW5zIG91
dHNpZGUgZnJvbSB0aGUgY3VycmVudCBpbmxpbmUgYm94IGNvbnRlbnQuCisgICAgICAgICAgICAg
ICAgLy8gSW4gc3VjaCBjYXNlcywgd2UgbmVlZCB0byAiY2xvc2UiIHRoZSBpbmxpbmUgYm94KGVz
KSBhbmQgIm9wZW4iIGEgbmV3IG9uZShzKSB0byBhY2NvbW1vZGF0ZSB0aGUgY3VycmVudCBjb250
ZW50LgorICAgICAgICAgICAgICAgIC8vIDxkaXY+YTxzcGFuIGlkPWZpcnN0PmImIzgyMzg7Zzwv
c3Bhbj5mPHNwYW4gaWQ9c2Vjb25kPmUmIzgyMzc7Yzwvc3Bhbj5kPC9kaXY+CisgICAgICAgICAg
ICAgICAgLy8gcHJvZHVjZXMgdGhlIGZvbGxvd2luZyBvdXRwdXQgKG5vdGUgdGhlICM4MjM4OyAj
ODIzNzsgUlRML0xUUiBjb250cm9sIGNoYXJhY3RlcnMpOgorICAgICAgICAgICAgICAgIC8vIGFi
Y2RlZmcKKyAgICAgICAgICAgICAgICAvLyB3aXRoIHRoZSBmb2xsb3dpbmcsIGZyYWdtZW50ZWQg
aW5saW5lIGJveGVzIDoKKyAgICAgICAgICAgICAgICAvLyBhW2ZpcnN0IG9wZW5dYltmaXJzdCBj
bG9zZV1bc2Vjb25kIG9wZW5dY1tzZWNvbmQgY2xvc2VdZFtzZWNvbmQgb3Blbl1lW3NlY29uZCBj
bG9zZV1mW2ZpcnN0IG9wZW5dZ1tmaXJzdCBjbG9zZV0gCisgICAgICAgICAgICAgICAgYXV0byYg
cGFyZW50Qm94ID0gbGluZVJ1bi5sYXlvdXRCb3goKS5wYXJlbnQoKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQocGFyZW50Qm94LmlzSW5saW5lQm94KCkgfHwgJnBhcmVudEJveCA9PSAmcm9vdCgp
KTsKKworICAgICAgICAgICAgICAgIGF1dG8gcnVuUGFyZW50SXNDdXJyZW50SW5saW5lQm94ID0g
KCZwYXJlbnRCb3ggPT0gJnJvb3QoKSAmJiBpbmxpbmVCb3hTdGFjay5pc0VtcHR5KCkpCisgICAg
ICAgICAgICAgICAgICAgIHx8ICghaW5saW5lQm94U3RhY2suaXNFbXB0eSgpICYmICZwYXJlbnRC
b3ggPT0gJmJveGVzW2lubGluZUJveFN0YWNrLmxhc3QoKV0ubGF5b3V0Qm94KCkpOworICAgICAg
ICAgICAgICAgIGlmIChydW5QYXJlbnRJc0N1cnJlbnRJbmxpbmVCb3gpIHsKKyAgICAgICAgICAg
ICAgICAgICAgLy8gV2UndmUgZ290IHRoZSBjb3JyZWN0IGlubGluZSBib3ggYXMgcGFyZW50LiBO
b3RoaW5nIHRvIGRvIGhlcmUuCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIHJ1biBpcyBub3QgbmVzdGVk
IGluc2lkZSB0aGUgY3VycmVudCBpbmxpbmUgYm94IChtZWFuaW5nIGl0IHZpc3VhbGx5IGdvdCBp
bmplY3RlZCBpbi1iZXR3ZWVuIHRoZSBpbmxpbmUgYm94IGNvbnRlbnQpCisgICAgICAgICAgICAg
ICAgLy8gd2UgbmVlZCB0byAiY2xvc2UiIGFsbCB0aGUgbmVzdGVkIGlubGluZSBib3hlcyBmaXJz
dCAoZS5nLiBzZWUgdGhlIGV4YW1wbGUgYWJvdmU7IHJpZ2h0IGJlZm9yZSBhcHBlbmRpbmcgImMi
KS4KKyAgICAgICAgICAgICAgICB3aGlsZSAoIWlubGluZUJveFN0YWNrLmlzRW1wdHkoKSkgewor
ICAgICAgICAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBib3hlc1tpbmxpbmVCb3hTdGFj
ay5sYXN0KCldLmxheW91dEJveCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoJnBhcmVudEJv
eCA9PSAmaW5saW5lQm94KQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgICAgIGlubGluZUJveFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBhdXRvIGNyZWF0ZURpc3BsYXlCb3hlc0ZvcklubGluZUJv
eGVzSWZOZWVkZWQgPSBbJl0geworICAgICAgICAgICAgICAgICAgICAvLyBXZSBhbHNvIG1heSBu
ZWVkIHRvICJvcGVuIiBuZXcgaW5saW5lIGJveGVzIGlmIHRoZSBjdXJyZW50IGNvbnRlbnQgaXMg
bmVzdGVkIGluc2lkZSBpbmxpbmUgYm94ZXMKKyAgICAgICAgICAgICAgICAgICAgLy8gKGUuZy4g
c2VlIHRoZSBleGFtcGxlIGFib3ZlOyByaWdodCBiZWZvcmUgImciKQorICAgICAgICAgICAgICAg
ICAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gJnBhcmVudEJveDsgYW5jZXN0b3IgIT0gJnJvb3Qo
KTsgYW5jZXN0b3IgPSAmYW5jZXN0b3ItPnBhcmVudCgpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBBU1NFUlQoYW5jZXN0b3ItPmlzSW5saW5lQm94KCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byYgaW5saW5lQm94ID0gKmFuY2VzdG9yOworICAgICAgICAgICAgICAgICAgICAg
ICAgaW5saW5lQm94U3RhY2suYXBwZW5kKGJveGVzLnNpemUoKSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8gYXBwZW5kSW5saW5lQm94ID0gWyZdIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lQm94SW5kZXggPSBpbmxpbmVC
b3hEaXNwbGF5Qm94TWFwLnRha2UoJmlubGluZUJveCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lQm94SW5kZXgpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJveGVzW2xhc3REaXNwbGF5Qm94Rm9ySW5saW5lQm94SW5kZXhd
LnNldElzTGFzdEJveChmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5l
Qm94RGlzcGxheUJveE1hcC5zZXQoJmlubGluZUJveCwgYm94ZXMuc2l6ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsQm9y
ZGVyQm94Rm9ySW5saW5lQm94KGlubGluZUJveCwgZm9ybWF0dGluZ1N0YXRlKCkuYm94R2VvbWV0
cnkoaW5saW5lQm94KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kSW5saW5l
Qm94RGlzcGxheUJveEZvckJpZGlCb3VuZGFyeShpbmxpbmVCb3gsIGxvZ2ljYWxSZWN0LCAhbGFz
dERpc3BsYXlCb3hGb3JJbmxpbmVCb3hJbmRleCwgYm94ZXMpOworICAgICAgICAgICAgICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZElubGluZUJveCgpOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICBj
cmVhdGVEaXNwbGF5Qm94ZXNGb3JJbmxpbmVCb3hlc0lmTmVlZGVkKCk7CisgICAgICAgICAgICB9
OworICAgICAgICAgICAgaGFuZGxlSW5saW5lQm94Qm91bmRhcmllc0lmQXBwbGljYWJsZSgpOwor
CisgICAgICAgICAgICBpZiAobGluZVJ1bi5pc1RleHQoKSkKKyAgICAgICAgICAgICAgICBhcHBl
bmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihs
aW5lUnVuKSwgYm94ZXMpOworICAgICAgICAgICAgZWxzZSBpZiAobGluZVJ1bi5pc1NvZnRMaW5l
QnJlYWsoKSkKKyAgICAgICAgICAgICAgICBhcHBlbmRTb2Z0TGluZUJyZWFrRGlzcGxheUJveChs
aW5lUnVuLCBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1bihsaW5lUnVuKSwgYm94ZXMpOwog
ICAgICAgICAgICAgZWxzZSBpZiAobGluZVJ1bi5pc0hhcmRMaW5lQnJlYWsoKSkKLSAgICAgICAg
ICAgICAgICBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JMaW5lQnJlYWtCb3go
bGF5b3V0Qm94KTsKLSAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGFwcGVuZEhh
cmRMaW5lQnJlYWtEaXNwbGF5Qm94KGxpbmVSdW4sIGxpbmVCb3gubG9naWNhbFJlY3RGb3JMaW5l
QnJlYWtCb3gobGluZVJ1bi5sYXlvdXRCb3goKSksIGJveGVzKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKGxpbmVSdW4uaXNCb3goKSkgeworICAgICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9
IGxpbmVSdW4ubGF5b3V0Qm94KCk7CiAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkg
PSBmb3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpOwotICAgICAgICAgICAg
ICAgIGlmIChsaW5lUnVuLmlzQm94KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbWFyZ2luU3Rh
cnQgPSBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpOwotICAgICAgICAgICAgICAgICAgICBsb2dp
Y2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94
KGxheW91dEJveCwgYm94R2VvbWV0cnkpOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNhbGx5KGxpbmVCb3hMb2dpY2FsVG9wTGVmdC55
KCkpOwotICAgICAgICAgICAgcmV0dXJuIGxvZ2ljYWxSZWN0OwotICAgICAgICB9KCk7Ci0KLSAg
ICAgICAgYXV0byBoYW5kbGVJbmxpbmVCb3hCb3VuZGFyaWVzSWZBcHBsaWNhYmxlID0gWyZdIHsK
LSAgICAgICAgICAgIC8vIFZpc3VhbCBvcmRlciBjb3VsZCBpbnRyb2R1Y2UgZ2FwcyBhbmQvb3Ig
aW5qZWN0IHJ1bnMgb3V0c2lkZSBmcm9tIHRoZSBjdXJyZW50IGlubGluZSBib3ggY29udGVudC4K
LSAgICAgICAgICAgIC8vIEluIHN1Y2ggY2FzZXMsIHdlIG5lZWQgdG8gImNsb3NlIiB0aGUgaW5s
aW5lIGJveChlcykgYW5kICJvcGVuIiBhIG5ldyBvbmUocykgdG8gYWNjb21tb2RhdGUgdGhlIGN1
cnJlbnQgY29udGVudC4KLSAgICAgICAgICAgIC8vIDxkaXY+YTxzcGFuIGlkPWZpcnN0PmImIzgy
Mzg7Zzwvc3Bhbj5mPHNwYW4gaWQ9c2Vjb25kPmUmIzgyMzc7Yzwvc3Bhbj5kPC9kaXY+Ci0gICAg
ICAgICAgICAvLyBwcm9kdWNlcyB0aGUgZm9sbG93aW5nIG91dHB1dCAobm90ZSB0aGUgIzgyMzg7
ICM4MjM3OyBSVEwvTFRSIGNvbnRyb2wgY2hhcmFjdGVycyk6Ci0gICAgICAgICAgICAvLyBhYmNk
ZWZnCi0gICAgICAgICAgICAvLyB3aXRoIHRoZSBmb2xsb3dpbmcsIGZyYWdtZW50ZWQgaW5saW5l
IGJveGVzIDoKLSAgICAgICAgICAgIC8vIGFbZmlyc3Qgb3Blbl1iW2ZpcnN0IGNsb3NlXVtzZWNv
bmQgb3Blbl1jW3NlY29uZCBjbG9zZV1kW3NlY29uZCBvcGVuXWVbc2Vjb25kIGNsb3NlXWZbZmly
c3Qgb3Blbl1nW2ZpcnN0IGNsb3NlXSAKLSAgICAgICAgICAgIGF1dG8mIHBhcmVudEJveCA9IGxp
bmVSdW4ubGF5b3V0Qm94KCkucGFyZW50KCk7Ci0gICAgICAgICAgICBBU1NFUlQocGFyZW50Qm94
LmlzSW5saW5lQm94KCkgfHwgJnBhcmVudEJveCA9PSAmcm9vdCgpKTsKLQotICAgICAgICAgICAg
YXV0byBydW5QYXJlbnRJc0N1cnJlbnRJbmxpbmVCb3ggPSAoJnBhcmVudEJveCA9PSAmcm9vdCgp
ICYmIGlubGluZUJveFN0YWNrLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICB8fCAoIWlubGlu
ZUJveFN0YWNrLmlzRW1wdHkoKSAmJiAmcGFyZW50Qm94ID09ICZib3hlc1tpbmxpbmVCb3hTdGFj
ay5sYXN0KCldLmxheW91dEJveCgpKTsKLSAgICAgICAgICAgIGlmIChydW5QYXJlbnRJc0N1cnJl
bnRJbmxpbmVCb3gpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSd2ZSBnb3QgdGhlIGNvcnJlY3Qg
aW5saW5lIGJveCBhcyBwYXJlbnQuIE5vdGhpbmcgdG8gZG8gaGVyZS4KLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBJZiB0aGlzIHJ1biBpcyBu
b3QgbmVzdGVkIGluc2lkZSB0aGUgY3VycmVudCBpbmxpbmUgYm94IChtZWFuaW5nIGl0IHZpc3Vh
bGx5IGdvdCBpbmplY3RlZCBpbi1iZXR3ZWVuIHRoZSBpbmxpbmUgYm94IGNvbnRlbnQpCi0gICAg
ICAgICAgICAvLyB3ZSBuZWVkIHRvICJjbG9zZSIgYWxsIHRoZSBuZXN0ZWQgaW5saW5lIGJveGVz
IGZpcnN0IChlLmcuIHNlZSB0aGUgZXhhbXBsZSBhYm92ZTsgcmlnaHQgYmVmb3JlIGFwcGVuZGlu
ZyAiYyIpLgotICAgICAgICAgICAgd2hpbGUgKCFpbmxpbmVCb3hTdGFjay5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3hEaXNwbGF5Qm94ID0gYm94ZXNbaW5saW5l
Qm94U3RhY2subGFzdCgpXTsKLSAgICAgICAgICAgICAgICBpZiAoJnBhcmVudEJveCA9PSAmaW5s
aW5lQm94RGlzcGxheUJveC5sYXlvdXRCb3goKSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgaW5saW5lQm94U3RhY2sucmVtb3ZlTGFzdCgpOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAvLyBXZSBhbHNvIG1heSBuZWVkIHRvICJvcGVuIiBuZXcgaW5s
aW5lIGJveGVzIGlmIHRoZSBjdXJyZW50IGNvbnRlbnQgaXMgbmVzdGVkIGluc2lkZSBpbmxpbmUg
Ym94ZXMgKGUuZy4gc2VlIHRoZSBleGFtcGxlIGFib3ZlOyByaWdodCBiZWZvcmUgImciKQotICAg
ICAgICAgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9ICZwYXJlbnRCb3g7IGFuY2VzdG9yICE9ICZy
b290KCk7IGFuY2VzdG9yID0gJmFuY2VzdG9yLT5wYXJlbnQoKSkgewotICAgICAgICAgICAgICAg
IEFTU0VSVChhbmNlc3Rvci0+aXNJbmxpbmVCb3goKSk7Ci0gICAgICAgICAgICAgICAgYXV0byYg
aW5saW5lQm94ID0gKmFuY2VzdG9yOwotICAgICAgICAgICAgICAgIGlubGluZUJveFN0YWNrLmFw
cGVuZChib3hlcy5zaXplKCkpOwotCi0gICAgICAgICAgICAgICAgYXV0byBsYXN0RGlzcGxheUJv
eEZvcklubGluZUJveEluZGV4ID0gaW5saW5lQm94RGlzcGxheUJveE1hcC50YWtlKCZpbmxpbmVC
b3gpOwotICAgICAgICAgICAgICAgIGlmIChsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4
KQotICAgICAgICAgICAgICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZUJveElu
ZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOwotICAgICAgICAgICAgICAgIGlubGluZUJveERpc3Bs
YXlCb3hNYXAuc2V0KCZpbmxpbmVCb3gsIGJveGVzLnNpemUoKSk7Ci0gICAgICAgICAgICAgICAg
YXV0byBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveCgq
YW5jZXN0b3IsIGZvcm1hdHRpbmdTdGF0ZSgpLmJveEdlb21ldHJ5KCphbmNlc3RvcikpOwotICAg
ICAgICAgICAgICAgIGFwcGVuZElubGluZUJveERpc3BsYXlCb3hGb3JCaWRpQm91bmRhcnkoaW5s
aW5lQm94LCBsb2dpY2FsUmVjdCwgIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lQm94SW5kZXgsIGJv
eGVzKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgaGFuZGxlSW5saW5lQm94
Qm91bmRhcmllc0lmQXBwbGljYWJsZSgpOwotCi0gICAgICAgIGlmIChsaW5lUnVuLmlzVGV4dCgp
KQotICAgICAgICAgICAgYXBwZW5kVGV4dERpc3BsYXlCb3gobGluZVJ1biwgZGlzcGxheUJveFJl
Y3QsIGJveGVzKTsKLSAgICAgICAgZWxzZSBpZiAobGluZVJ1bi5pc1NvZnRMaW5lQnJlYWsoKSkK
LSAgICAgICAgICAgIGFwcGVuZFNvZnRMaW5lQnJlYWtEaXNwbGF5Qm94KGxpbmVSdW4sIGRpc3Bs
YXlCb3hSZWN0LCBib3hlcyk7Ci0gICAgICAgIGVsc2UgaWYgKGxpbmVSdW4uaXNIYXJkTGluZUJy
ZWFrKCkpCi0gICAgICAgICAgICBhcHBlbmRIYXJkTGluZUJyZWFrRGlzcGxheUJveChsaW5lUnVu
LCBkaXNwbGF5Qm94UmVjdCwgYm94ZXMpOwotICAgICAgICBlbHNlIGlmIChsaW5lUnVuLmlzQm94
KCkpCi0gICAgICAgICAgICBhcHBlbmRBdG9taWNJbmxpbmVMZXZlbERpc3BsYXlCb3gobGluZVJ1
biwgZGlzcGxheUJveFJlY3QsIGJveGVzKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQorICAgICAgICAgICAgICAgIGFwcGVuZEF0b21pY0lu
bGluZUxldmVsRGlzcGxheUJveChsaW5lUnVuLCBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JB
dG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KSwgYm94ZXMpOworICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIH0KKyAgICB9OworICAgIGNyZWF0ZURpc3BsYXlCb3hlc0luVmlzdWFsT3JkZXJXaXRo
TG9naWNhbEdlb21ldHJ5KCk7CiAKICAgICBhdXRvIGNvbXB1dGVWaXN1YWxHZW9tZXRyeSA9IFsm
XSB7CisgICAgICAgIGF1dG8gcm9vdElubGluZUJveFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0
Rm9yUm9vdElubGluZUJveCgpOworICAgICAgICBhdXRvIGNvbnRlbnRSaWdodEluVmlzdWFsT3Jk
ZXIgPSBsaW5lQm94TG9naWNhbFRvcExlZnQueCgpOworICAgICAgICAvLyBGaXJzdCB2aXN1YWwg
cnVuJ3MgaW5pdGlhbCBjb250ZW50IHBvc2l0aW9uIGRlcGVuZHMgb24gdGhlIGJsb2NrJ3MgaW5s
aW5lIGRpcmVjdGlvbi4KKyAgICAgICAgaWYgKCFyb290KCkuc3R5bGUoKS5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRoZSBibG9j
ayBlbmQgcG9zaXRpb24gaW5zdGVhZCBvZiB0aGUgbGluZUxvZ2ljYWxXaWR0aC4KKyAgICAgICAg
ICAgIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgKz0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxX
aWR0aCAtIHJvb3RJbmxpbmVCb3hSZWN0LndpZHRoKCk7CisgICAgICAgIH0KKyAgICAgICAgLy8g
QWRqdXN0IHRoZSBjb250ZW50IHN0YXJ0IHBvc2l0aW9uIHdpdGggdGhlICh0ZXh0KWFsaWdubWVu
dCBvZmZzZXQgKHJvb3QgaW5saW5lIGJveCBoYXMgdGhlIGFsaWdubWVudCBvZmZzZXQgYW5kIG5v
dCB0aGUgaW5kaXZpZHVhbCBydW5zKS4KKyAgICAgICAgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRl
ciArPSByb290SW5saW5lQm94UmVjdC5sZWZ0KCk7CisKICAgICAgICAgVmVjdG9yPHNpemVfdD4g
aW5saW5lQm94U3RhY2s7CiAgICAgICAgIGlubGluZUJveFN0YWNrLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkobGluZUJveC5ub25Sb290SW5saW5lTGV2ZWxCb3hlcygpLnNpemUoKSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>