<?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>56332</bug_id>
          
          <creation_ts>2011-03-14 14:05:27 -0700</creation_ts>
          <short_desc>Removed more cases of DeprecatedPtr (exception, SmallStrings)</short_desc>
          <delta_ts>2011-03-14 15:31:35 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>367204</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 14:05:27 -0700</bug_when>
    <thetext>Removed more cases of DeprecatedPtr (exception, SmallStrings)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367219</commentid>
    <comment_count>1</comment_count>
      <attachid>85718</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 14:12:15 -0700</bug_when>
    <thetext>Created attachment 85718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367292</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 15:31:35 -0700</bug_when>
    <thetext>Committed r81071: &lt;http://trac.webkit.org/changeset/81071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85718</attachid>
            <date>2011-03-14 14:12:15 -0700</date>
            <delta_ts>2011-03-14 14:16:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56332-20110314141205.patch</filename>
            <type>text/plain</type>
            <size>17193</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODEwNTUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTQgQEAK
KzIwMTEtMDMtMTQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIG1vcmUgY2Fz
ZXMgb2YgRGVwcmVjYXRlZFB0ciAoZXhjZXB0aW9uLCBTbWFsbFN0cmluZ3MpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjMzMgorCisgICAgICAgICog
cnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkKToK
KyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkU2xvd0Nhc2UpOiBVc2UgYSB2YXJpYWJsZSBp
bnN0ZWFkIG9mIGEgaGFyZC1jb2RlZAorICAgICAgICBjb25zdGFudCwgdG8gbWFrZSB0aGlzIGNv
ZGUgbGVzcyBicml0dGxlLgorCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDogVXNl
IEhlYXBSb290IGluc3RlYWQgb2YgRGVwcmVjYXRlZFB0ciBiZWNhdXNlCisgICAgICAgIHRoaXMg
cmVmZXJlbmNlIGlzIG93bmVkIGFuZCBtYW5hZ2VkIGRpcmVjdGx5IGJ5IHRoZSBoZWFwLgorCisg
ICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OkpTU3RyaW5nOjpz
dWJzdHJpbmdGcm9tUm9wZSk6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5oOgorICAgICAg
ICAoSlNDOjpqc1NpbmdsZUNoYXJhY3RlclN0cmluZyk6CisgICAgICAgIChKU0M6OmpzU2luZ2xl
Q2hhcmFjdGVyU3Vic3RyaW5nKToKKyAgICAgICAgKEpTQzo6anNTdHJpbmcpOgorICAgICAgICAo
SlNDOjpqc1N0cmluZ1dpdGhGaW5hbGl6ZXIpOgorICAgICAgICAoSlNDOjpqc1N1YnN0cmluZyk6
CisgICAgICAgIChKU0M6OmpzT3duZWRTdHJpbmcpOiBVc2UgYSB2YXJpYWJsZSBpbnN0ZWFkIG9m
IGEgaGFyZC1jb2RlZAorICAgICAgICBjb25zdGFudCwgdG8gbWFrZSB0aGlzIGNvZGUgbGVzcyBi
cml0dGxlLgorCisgICAgICAgICogcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwOgorICAgICAgICAo
SlNDOjpTbWFsbFN0cmluZ3NTdG9yYWdlOjpyZXApOgorICAgICAgICAoSlNDOjpTbWFsbFN0cmlu
Z3NTdG9yYWdlOjpTbWFsbFN0cmluZ3NTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6U21hbGxTdHJp
bmdzOjpTbWFsbFN0cmluZ3MpOgorICAgICAgICAoSlNDOjpTbWFsbFN0cmluZ3M6Om1hcmtDaGls
ZHJlbik6CisgICAgICAgIChKU0M6OlNtYWxsU3RyaW5nczo6Y2xlYXIpOgorICAgICAgICAoSlND
OjpTbWFsbFN0cmluZ3M6OmNvdW50KTogVXNlIGEgdmFyaWFibGUgaW5zdGVhZCBvZiBhIGhhcmQt
Y29kZWQKKyAgICAgICAgY29uc3RhbnQsIHRvIG1ha2UgdGhpcyBjb2RlIGxlc3MgYnJpdHRsZS4K
KworICAgICAgICAqIHJ1bnRpbWUvU21hbGxTdHJpbmdzLmg6CisgICAgICAgIChKU0M6OlNtYWxs
U3RyaW5nczo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nKTogVXNlIEhlYXBSb290IGluc3RlYWQgb2YK
KyAgICAgICAgRGVwcmVjYXRlZFB0ciBiZWNhdXNlIHRoZXNlIHJlZmVyZW5jZXMgYXJlIG93bmVk
IGFuZCBtYW5hZ2VkIGRpcmVjdGx5IGJ5CisgICAgICAgIHRoZSBoZWFwLgorICAgICAgICAKKyAg
ICAgICAgU3RvcCB1c2luZyBGaXhlZEFycmF5IGJlY2F1c2Ugd2Ugb25seSB3YW50IGEgdmVyeSBs
aW1pdGVkIHNldAorICAgICAgICBvZiBjbGFzc2VzIHRvIGJlIGFibGUgdG8gdXNlIEhlYXBSb290
LiAoUmVwbGFjZWQgd2l0aCBtYW51YWwgQVNTRVJUcy4pCisKKyAgICAgICAgKiBydW50aW1lL1dy
aXRlQmFycmllci5oOgorICAgICAgICAoSlNDOjpvcGVyYXRvcj09KToKKyAgICAgICAgKEpTQzo6
V3JpdGVCYXJyaWVyOjpXcml0ZUJhcnJpZXIpOgorICAgICAgICAoSlNDOjpIZWFwUm9vdDo6SGVh
cFJvb3QpOgorICAgICAgICAoSlNDOjpIZWFwUm9vdDo6b3BlcmF0b3I9KTogQWRkZWQgSGVhcFJv
b3QsIHdoaWNoIGlzIGFsbG93ZWQgdG8gc2V0CisgICAgICAgIHdpdGhvdXQgd3JpdGUgYmFycmll
ciBiZWNhdXNlIHdlIGFzc3VtZSBhbGwgSGVhcFJvb3RzIGFyZSBzY2FubmVkIGR1cmluZworICAg
ICAgICBhbGwgR0MgcGFzc2VzLgorCiAyMDExLTAzLTE0ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcAkocmV2aXNpb24gODEwNDYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE3LDcgKzIxNyw3IEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gSWRlbnRp
Zmllcjo6YWRkKEoKIHsKICAgICBpZiAobGVuZ3RoID09IDEpIHsKICAgICAgICAgVUNoYXIgYyA9
IHNbMF07Ci0gICAgICAgIGlmIChjIDw9IDB4RkYpCisgICAgICAgIGlmIChjIDw9IG1heFNpbmds
ZUNoYXJhY3RlclN0cmluZykKICAgICAgICAgICAgIHJldHVybiBhZGQoZ2xvYmFsRGF0YSwgZ2xv
YmFsRGF0YS0+c21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZ1JlcChjKSk7CiAgICAg
fQogICAgIGlmICghbGVuZ3RoKQpAQCAtMjQ0LDcgKzI0NCw3IEBAIFBhc3NSZWZQdHI8U3RyaW5n
SW1wbD4gSWRlbnRpZmllcjo6YWRkU2wKIAogICAgIGlmIChyLT5sZW5ndGgoKSA9PSAxKSB7CiAg
ICAgICAgIFVDaGFyIGMgPSByLT5jaGFyYWN0ZXJzKClbMF07Ci0gICAgICAgIGlmIChjIDw9IDB4
RkYpCisgICAgICAgIGlmIChjIDw9IG1heFNpbmdsZUNoYXJhY3RlclN0cmluZykKICAgICAgICAg
ICAgIHIgPSBnbG9iYWxEYXRhLT5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nUmVw
KGMpOwogICAgICAgICAgICAgaWYgKHItPmlzSWRlbnRpZmllcigpKQogICAgICAgICAgICAgICAg
IHJldHVybiByOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxE
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxEYXRhLmgJKHJldmlzaW9uIDgxMDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMSw3ICsyMTEsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgVGVybWluYXRvciB0ZXJtaW5hdG9yOwogICAgICAgICBIZWFw
IGhlYXA7CiAKLSAgICAgICAgRGVwcmVjYXRlZFB0cjxVbmtub3duPiBleGNlcHRpb247CisgICAg
ICAgIEhlYXBSb290PFVua25vd24+IGV4Y2VwdGlvbjsKICNpZiBFTkFCTEUoSklUKQogICAgICAg
ICBSZXR1cm5BZGRyZXNzUHRyIGV4Y2VwdGlvbkxvY2F0aW9uOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCShyZXZpc2lvbiA4MTA0NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTUyLDcgKzE1Miw3IEBAIEpTU3RyaW5nKiBKU1N0cmluZzo6c3Vic3RyaW5nRnJv
bVJvcGUoRXgKICAgICBpZiAoc3Vic3RyaW5nTGVuZ3RoID09IDEpIHsKICAgICAgICAgQVNTRVJU
KHN1YnN0cmluZ0ZpYmVyQ291bnQgPT0gMSk7CiAgICAgICAgIFVDaGFyIGMgPSBzdWJzdHJpbmdG
aWJlcnNbMF0uY2hhcmFjdGVycygpWzBdOwotICAgICAgICBpZiAoYyA8PSAweEZGKQorICAgICAg
ICBpZiAoYyA8PSBtYXhTaW5nbGVDaGFyYWN0ZXJTdHJpbmcpCiAgICAgICAgICAgICByZXR1cm4g
Z2xvYmFsRGF0YS0+c21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZyhnbG9iYWxEYXRh
LCBjKTsKICAgICB9CiAgICAgaWYgKHN1YnN0cmluZ0ZpYmVyQ291bnQgPT0gMSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkocmV2aXNpb24gODEwNDYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NjgsNyArNDY4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxpbmUgSlNTdHJp
bmcqIGpzU2luZ2xlQ2hhcmFjdGVyU3RyaW5nKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgVUNo
YXIgYykKICAgICB7Ci0gICAgICAgIGlmIChjIDw9IDB4RkYpCisgICAgICAgIGlmIChjIDw9IG1h
eFNpbmdsZUNoYXJhY3RlclN0cmluZykKICAgICAgICAgICAgIHJldHVybiBnbG9iYWxEYXRhLT5z
bWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGdsb2JhbERhdGEsIGMpOwogICAgICAg
ICByZXR1cm4gZml4dXBWUHRyKGdsb2JhbERhdGEsIG5ldyAoZ2xvYmFsRGF0YSkgSlNTdHJpbmco
Z2xvYmFsRGF0YSwgVVN0cmluZygmYywgMSkpKTsKICAgICB9CkBAIC00NzgsNyArNDc4LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVj
LT5nbG9iYWxEYXRhKCk7CiAgICAgICAgIEFTU0VSVChvZmZzZXQgPCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocy5sZW5ndGgoKSkpOwogICAgICAgICBVQ2hhciBjID0gcy5jaGFyYWN0ZXJzKClbb2Zm
c2V0XTsKLSAgICAgICAgaWYgKGMgPD0gMHhGRikKKyAgICAgICAgaWYgKGMgPD0gbWF4U2luZ2xl
Q2hhcmFjdGVyU3RyaW5nKQogICAgICAgICAgICAgcmV0dXJuIGdsb2JhbERhdGEtPnNtYWxsU3Ry
aW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmcoZ2xvYmFsRGF0YSwgYyk7CiAgICAgICAgIHJldHVy
biBmaXh1cFZQdHIoZ2xvYmFsRGF0YSwgbmV3IChnbG9iYWxEYXRhKSBKU1N0cmluZyhnbG9iYWxE
YXRhLCBVU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZShzLmltcGwoKSwgb2Zmc2V0LCAxKSkpKTsK
ICAgICB9CkBAIC01MTMsNyArNTEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBy
ZXR1cm4gZ2xvYmFsRGF0YS0+c21hbGxTdHJpbmdzLmVtcHR5U3RyaW5nKGdsb2JhbERhdGEpOwog
ICAgICAgICBpZiAoc2l6ZSA9PSAxKSB7CiAgICAgICAgICAgICBVQ2hhciBjID0gcy5jaGFyYWN0
ZXJzKClbMF07Ci0gICAgICAgICAgICBpZiAoYyA8PSAweEZGKQorICAgICAgICAgICAgaWYgKGMg
PD0gbWF4U2luZ2xlQ2hhcmFjdGVyU3RyaW5nKQogICAgICAgICAgICAgICAgIHJldHVybiBnbG9i
YWxEYXRhLT5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGdsb2JhbERhdGEsIGMp
OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmaXh1cFZQdHIoZ2xvYmFsRGF0YSwgbmV3IChn
bG9iYWxEYXRhKSBKU1N0cmluZyhnbG9iYWxEYXRhLCBzKSk7CkBAIC01MjEsNyArNTIxLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxpbmUgSlNTdHJpbmcqIGpzU3RyaW5nV2l0aEZpbmFs
aXplcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFVTdHJpbmcmIHMsIEpTU3RyaW5nRmluYWxpemVy
Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpCiAgICAgewotICAgICAgICBBU1NFUlQo
cy5sZW5ndGgoKSAmJiAocy5sZW5ndGgoKSA+IDEgfHwgcy5jaGFyYWN0ZXJzKClbMF0gPiAweEZG
KSk7CisgICAgICAgIEFTU0VSVChzLmxlbmd0aCgpICYmIChzLmxlbmd0aCgpID4gMSB8fCBzLmNo
YXJhY3RlcnMoKVswXSA+IG1heFNpbmdsZUNoYXJhY3RlclN0cmluZykpOwogICAgICAgICBKU0ds
b2JhbERhdGEqIGdsb2JhbERhdGEgPSAmZXhlYy0+Z2xvYmFsRGF0YSgpOwogICAgICAgICByZXR1
cm4gZml4dXBWUHRyKGdsb2JhbERhdGEsIG5ldyAoZ2xvYmFsRGF0YSkgSlNTdHJpbmcoZ2xvYmFs
RGF0YSwgcywgY2FsbGJhY2ssIGNvbnRleHQpKTsKICAgICB9CkBAIC01NDgsNyArNTQ4LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsRGF0YS0+c21hbGxTdHJp
bmdzLmVtcHR5U3RyaW5nKGdsb2JhbERhdGEpOwogICAgICAgICBpZiAobGVuZ3RoID09IDEpIHsK
ICAgICAgICAgICAgIFVDaGFyIGMgPSBzLmNoYXJhY3RlcnMoKVtvZmZzZXRdOwotICAgICAgICAg
ICAgaWYgKGMgPD0gMHhGRikKKyAgICAgICAgICAgIGlmIChjIDw9IG1heFNpbmdsZUNoYXJhY3Rl
clN0cmluZykKICAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsRGF0YS0+c21hbGxTdHJpbmdz
LnNpbmdsZUNoYXJhY3RlclN0cmluZyhnbG9iYWxEYXRhLCBjKTsKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gZml4dXBWUHRyKGdsb2JhbERhdGEsIG5ldyAoZ2xvYmFsRGF0YSkgSlNTdHJpbmco
Z2xvYmFsRGF0YSwgVVN0cmluZyhTdHJpbmdJbXBsOjpjcmVhdGUocy5pbXBsKCksIG9mZnNldCwg
bGVuZ3RoKSksIEpTU3RyaW5nOjpIYXNPdGhlck93bmVyKSk7CkBAIC01NjEsNyArNTYxLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsRGF0YS0+c21hbGxTdHJp
bmdzLmVtcHR5U3RyaW5nKGdsb2JhbERhdGEpOwogICAgICAgICBpZiAoc2l6ZSA9PSAxKSB7CiAg
ICAgICAgICAgICBVQ2hhciBjID0gcy5jaGFyYWN0ZXJzKClbMF07Ci0gICAgICAgICAgICBpZiAo
YyA8PSAweEZGKQorICAgICAgICAgICAgaWYgKGMgPD0gbWF4U2luZ2xlQ2hhcmFjdGVyU3RyaW5n
KQogICAgICAgICAgICAgICAgIHJldHVybiBnbG9iYWxEYXRhLT5zbWFsbFN0cmluZ3Muc2luZ2xl
Q2hhcmFjdGVyU3RyaW5nKGdsb2JhbERhdGEsIGMpOwogICAgICAgICB9CiAgICAgICAgIHJldHVy
biBmaXh1cFZQdHIoZ2xvYmFsRGF0YSwgbmV3IChnbG9iYWxEYXRhKSBKU1N0cmluZyhnbG9iYWxE
YXRhLCBzLCBKU1N0cmluZzo6SGFzT3RoZXJPd25lcikpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCShyZXZpc2lvbiA4MTA0NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXN0YXRpYyBjb25z
dCB1bnNpZ25lZCBudW1DaGFyYWN0ZXJzVG9TdG9yZSA9IDB4MTAwOwotCiBzdGF0aWMgaW5saW5l
IGJvb2wgaXNNYXJrZWQoSlNDZWxsKiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZyAmJiBI
ZWFwOjppc01hcmtlZChzdHJpbmcpOwpAQCAtNDUsMTcgKzQzLDIzIEBAIGNsYXNzIFNtYWxsU3Ry
aW5nc1N0b3JhZ2UgewogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2UoKTsKIAotICAg
IFN0cmluZ0ltcGwqIHJlcCh1bnNpZ25lZCBjaGFyIGNoYXJhY3RlcikgeyByZXR1cm4gbV9yZXBz
W2NoYXJhY3Rlcl0uZ2V0KCk7IH0KKyAgICBTdHJpbmdJbXBsKiByZXAodW5zaWduZWQgY2hhciBj
aGFyYWN0ZXIpCisgICAgeworICAgICAgICBBU1NFUlQoY2hhcmFjdGVyIDwgc2luZ2xlQ2hhcmFj
dGVyU3RyaW5nQ291bnQpOworICAgICAgICByZXR1cm4gbV9yZXBzW2NoYXJhY3Rlcl0uZ2V0KCk7
CisgICAgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX3JlcHNbbnVtQ2hh
cmFjdGVyc1RvU3RvcmVdOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmdDb3VudCA9IG1heFNpbmdsZUNoYXJhY3RlclN0cmluZyArIDE7CisKKyAgICBSZWZQ
dHI8U3RyaW5nSW1wbD4gbV9yZXBzW3NpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50XTsKIH07CiAK
IFNtYWxsU3RyaW5nc1N0b3JhZ2U6OlNtYWxsU3RyaW5nc1N0b3JhZ2UoKQogewogICAgIFVDaGFy
KiBjaGFyYWN0ZXJCdWZmZXIgPSAwOwotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBiYXNlU3RyaW5n
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChudW1DaGFyYWN0ZXJzVG9TdG9yZSwg
Y2hhcmFjdGVyQnVmZmVyKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtQ2hhcmFj
dGVyc1RvU3RvcmU7ICsraSkgeworICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBiYXNlU3RyaW5nID0g
U3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3Vu
dCwgY2hhcmFjdGVyQnVmZmVyKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2luZ2xl
Q2hhcmFjdGVyU3RyaW5nQ291bnQ7ICsraSkgewogICAgICAgICBjaGFyYWN0ZXJCdWZmZXJbaV0g
PSBpOwogICAgICAgICBtX3JlcHNbaV0gPSBTdHJpbmdJbXBsOjpjcmVhdGUoYmFzZVN0cmluZywg
aSwgMSk7CiAgICAgfQpAQCAtNjMsNyArNjcsNyBAQCBTbWFsbFN0cmluZ3NTdG9yYWdlOjpTbWFs
bFN0cmluZ3NTdG9yYWdlCiAKIFNtYWxsU3RyaW5nczo6U21hbGxTdHJpbmdzKCkKIHsKLSAgICBD
T01QSUxFX0FTU0VSVChudW1DaGFyYWN0ZXJzVG9TdG9yZSA9PSBzaXplb2YobV9zaW5nbGVDaGFy
YWN0ZXJTdHJpbmdzKSAvIHNpemVvZihtX3NpbmdsZUNoYXJhY3RlclN0cmluZ3NbMF0pLCBJc051
bUNoYXJhY3RlcnNDb25zdEluU3luY1dpdGhDbGFzc1VzYWdlKTsKKyAgICBDT01QSUxFX0FTU0VS
VChzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3VudCA9PSBzaXplb2YobV9zaW5nbGVDaGFyYWN0ZXJT
dHJpbmdzKSAvIHNpemVvZihtX3NpbmdsZUNoYXJhY3RlclN0cmluZ3NbMF0pLCBJc051bUNoYXJh
Y3RlcnNDb25zdEluU3luY1dpdGhDbGFzc1VzYWdlKTsKICAgICBjbGVhcigpOwogfQogCkBAIC04
NCw3ICs4OCw3IEBAIHZvaWQgU21hbGxTdHJpbmdzOjptYXJrQ2hpbGRyZW4oTWFya1N0YWMKICAg
ICAgKi8KIAogICAgIGJvb2wgaXNBbnlTdHJpbmdNYXJrZWQgPSBpc01hcmtlZChtX2VtcHR5U3Ry
aW5nLmdldCgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtQ2hhcmFjdGVyc1Rv
U3RvcmUgJiYgIWlzQW55U3RyaW5nTWFya2VkOyArK2kpCisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHNpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50ICYmICFpc0FueVN0cmluZ01hcmtlZDsg
KytpKQogICAgICAgICBpc0FueVN0cmluZ01hcmtlZCA9IGlzTWFya2VkKG1fc2luZ2xlQ2hhcmFj
dGVyU3RyaW5nc1tpXS5nZXQoKSk7CiAgICAgCiAgICAgaWYgKCFpc0FueVN0cmluZ01hcmtlZCkg
ewpAQCAtOTQsNyArOTgsNyBAQCB2b2lkIFNtYWxsU3RyaW5nczo6bWFya0NoaWxkcmVuKE1hcmtT
dGFjCiAgICAgCiAgICAgaWYgKG1fZW1wdHlTdHJpbmcpCiAgICAgICAgIG1hcmtTdGFjay5hcHBl
bmQoJm1fZW1wdHlTdHJpbmcpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1DaGFy
YWN0ZXJzVG9TdG9yZTsgKytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpbmds
ZUNoYXJhY3RlclN0cmluZ0NvdW50OyArK2kpIHsKICAgICAgICAgaWYgKG1fc2luZ2xlQ2hhcmFj
dGVyU3RyaW5nc1tpXSkKICAgICAgICAgICAgIG1hcmtTdGFjay5hcHBlbmQoJm1fc2luZ2xlQ2hh
cmFjdGVyU3RyaW5nc1tpXSk7CiAgICAgfQpAQCAtMTAzLDcgKzEwNyw3IEBAIHZvaWQgU21hbGxT
dHJpbmdzOjptYXJrQ2hpbGRyZW4oTWFya1N0YWMKIHZvaWQgU21hbGxTdHJpbmdzOjpjbGVhcigp
CiB7CiAgICAgbV9lbXB0eVN0cmluZyA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG51bUNoYXJhY3RlcnNUb1N0b3JlOyArK2kpCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHNpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50OyArK2kpCiAgICAgICAgIG1fc2luZ2xlQ2hhcmFj
dGVyU3RyaW5nc1tpXSA9IDA7CiB9CiAKQEAgLTExMiw3ICsxMTYsNyBAQCB1bnNpZ25lZCBTbWFs
bFN0cmluZ3M6OmNvdW50KCkgY29uc3QKICAgICB1bnNpZ25lZCBjb3VudCA9IDA7CiAgICAgaWYg
KG1fZW1wdHlTdHJpbmcpCiAgICAgICAgICsrY291bnQ7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG51bUNoYXJhY3RlcnNUb1N0b3JlOyArK2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgc2luZ2xlQ2hhcmFjdGVyU3RyaW5nQ291bnQ7ICsraSkgewogICAgICAgICBpZiAo
bV9zaW5nbGVDaGFyYWN0ZXJTdHJpbmdzW2ldKQogICAgICAgICAgICAgKytjb3VudDsKICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAko
cmV2aXNpb24gODEwNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0
cmluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAK
KyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4U2luZ2xlQ2hhcmFjdGVyU3RyaW5nID0gMHhG
RjsKKwogICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7Ci0gICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3MpOwogICAgIHB1YmxpYzoKICAgICAgICAgU21h
bGxTdHJpbmdzKCk7CiAgICAgICAgIH5TbWFsbFN0cmluZ3MoKTsKQEAgLTUwLDggKzUyLDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgICAgIGNyZWF0ZUVtcHR5U3RyaW5nKGdsb2Jh
bERhdGEpOwogICAgICAgICAgICAgcmV0dXJuIG1fZW1wdHlTdHJpbmcuZ2V0KCk7CiAgICAgICAg
IH0KKwogICAgICAgICBKU1N0cmluZyogc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKEpTR2xvYmFsRGF0
YSogZ2xvYmFsRGF0YSwgdW5zaWduZWQgY2hhciBjaGFyYWN0ZXIpCiAgICAgICAgIHsKKyAgICAg
ICAgICAgIEFTU0VSVChjaGFyYWN0ZXIgPCBzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3VudCk7CiAg
ICAgICAgICAgICBpZiAoIW1fc2luZ2xlQ2hhcmFjdGVyU3RyaW5nc1tjaGFyYWN0ZXJdKQogICAg
ICAgICAgICAgICAgIGNyZWF0ZVNpbmdsZUNoYXJhY3RlclN0cmluZyhnbG9iYWxEYXRhLCBjaGFy
YWN0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIG1fc2luZ2xlQ2hhcmFjdGVyU3RyaW5nc1tjaGFy
YWN0ZXJdLmdldCgpOwpAQCAtNjcsMTEgKzcxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBKU0NlbGwqKiBzaW5nbGVDaGFyYWN0ZXJTdHJpbmdzKCkgeyByZXR1cm4gbV9zaW5nbGVDaGFy
YWN0ZXJTdHJpbmdzWzBdLnNsb3QoKTsgfQogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHNpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50ID0gbWF4U2luZ2xlQ2hh
cmFjdGVyU3RyaW5nICsgMTsKKwogICAgICAgICB2b2lkIGNyZWF0ZUVtcHR5U3RyaW5nKEpTR2xv
YmFsRGF0YSopOwogICAgICAgICB2b2lkIGNyZWF0ZVNpbmdsZUNoYXJhY3RlclN0cmluZyhKU0ds
b2JhbERhdGEqLCB1bnNpZ25lZCBjaGFyKTsKIAotICAgICAgICBEZXByZWNhdGVkUHRyPEpTU3Ry
aW5nPiBtX2VtcHR5U3RyaW5nOwotICAgICAgICBGaXhlZEFycmF5PERlcHJlY2F0ZWRQdHI8SlNT
dHJpbmc+LCAweDEwMD4gbV9zaW5nbGVDaGFyYWN0ZXJTdHJpbmdzOworICAgICAgICBIZWFwUm9v
dDxKU1N0cmluZz4gbV9lbXB0eVN0cmluZzsKKyAgICAgICAgSGVhcFJvb3Q8SlNTdHJpbmc+IG1f
c2luZ2xlQ2hhcmFjdGVyU3RyaW5nc1tzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3VudF07CiAgICAg
ICAgIE93blB0cjxTbWFsbFN0cmluZ3NTdG9yYWdlPiBtX3N0b3JhZ2U7CiAgICAgfTsKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHJldmlz
aW9uIDgxMDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgSlNHbG9iYWxEYXRhOwog
dHlwZWRlZiBlbnVtIHsgfSBVbmtub3duOwogdHlwZWRlZiBKU1ZhbHVlKiBIYW5kbGVTbG90Owog
CisvLyBGSVhNRTogUmVtb3ZlIGFsbCB1c2VzIG9mIHRoaXMgY2xhc3MuCiB0ZW1wbGF0ZSA8Y2xh
c3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ciB7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0cigp
IDogbV9jZWxsKDApIHsgfQpAQCAtNTQsNiArNTUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgSlNDZWxs
KiBtX2NlbGw7CiB9OwogCisvLyBGSVhNRTogUmVtb3ZlIGFsbCB1c2VzIG9mIHRoaXMgY2xhc3Mu
CiB0ZW1wbGF0ZSA8PiBjbGFzcyBEZXByZWNhdGVkUHRyPFVua25vd24+IHsKIHB1YmxpYzoKICAg
ICBEZXByZWNhdGVkUHRyKCkgeyB9CkBAIC03MywxNyArNzUsMjMgQEAgcHJpdmF0ZToKICAgICBK
U1ZhbHVlIG1fdmFsdWU7CiB9OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFdyaXRl
QmFycmllckNoZWNrIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBVLCB0eXBlbmFtZSBWPiBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IERlcHJlY2F0ZWRQdHI8VT4mIGxocywgY29uc3QgRGVwcmVj
YXRlZFB0cjxWPiYgcmhzKQoreworICAgIHJldHVybiBsaHMuZ2V0KCkgPT0gcmhzLmdldCgpOwor
fQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IEpTVmFsdWVDaGVja2VyIHsKICAgICBz
dGF0aWMgY29uc3QgYm9vbCBJc0pTVmFsdWUgPSBmYWxzZTsKIH07CiAKLXRlbXBsYXRlIDw+IHN0
cnVjdCBXcml0ZUJhcnJpZXJDaGVjazxKU1ZhbHVlPiB7Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgSlNW
YWx1ZUNoZWNrZXI8SlNWYWx1ZT4gewogICAgIHN0YXRpYyBjb25zdCBib29sIElzSlNWYWx1ZSA9
IHRydWU7CiB9OwogCisvLyBXZSBoYXZlIGEgc2VwYXJhdGUgYmFzZSBjbGFzcyB3aXRoIG5vIGNv
bnN0cnVjdG9ycyBmb3IgdXNlIGluIFVuaW9ucy4KIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBXcml0ZUJhcnJpZXJCYXNlIHsKIHB1YmxpYzoKLSAgICBDT01QSUxFX0FTU0VSVCghV3JpdGVC
YXJyaWVyQ2hlY2s8VD46OklzSlNWYWx1ZSwgV3JpdGVCYXJyaWVyX0pTVmFsdWVfaXNfaW52YWxp
ZF9fdXNlX3Vua25vd24pOworICAgIENPTVBJTEVfQVNTRVJUKCFKU1ZhbHVlQ2hlY2tlcjxUPjo6
SXNKU1ZhbHVlLCBXcml0ZUJhcnJpZXJfSlNWYWx1ZV9pc19pbnZhbGlkX191c2VfdW5rbm93bik7
CiAgICAgdm9pZCBzZXQoSlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDZWxsKiwgVCogdmFsdWUpIHsg
dGhpcy0+bV9jZWxsID0gcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPih2YWx1ZSk7IH0KICAgICAK
ICAgICBUKiBnZXQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqPihtX2NlbGwp
OyB9CkBAIC0xMDAsMjAgKzEwOCwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFdpdGhvdXRX
cml0ZUJhcnJpZXIoVCogdmFsdWUpIHsgdGhpcy0+bV9jZWxsID0gcmVpbnRlcnByZXRfY2FzdDxK
U0NlbGwqPih2YWx1ZSk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU0NlbGwqIG1f
Y2VsbDsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXIgOiBw
dWJsaWMgV3JpdGVCYXJyaWVyQmFzZTxUPiB7Ci1wdWJsaWM6Ci0gICAgV3JpdGVCYXJyaWVyKCkg
eyB0aGlzLT5tX2NlbGwgPSAwOyB9Ci0gICAgV3JpdGVCYXJyaWVyKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpCi0gICAgewotICAgICAgICB0
aGlzLT5zZXQoZ2xvYmFsRGF0YSwgb3duZXIsIHZhbHVlKTsKLSAgICB9Ci0KLX07Ci0KIHRlbXBs
YXRlIDw+IGNsYXNzIFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4gewogcHVibGljOgogICAgIHZv
aWQgc2V0KEpTR2xvYmFsRGF0YSYsIGNvbnN0IEpTQ2VsbCosIEpTVmFsdWUgdmFsdWUpIHsgbV92
YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KQEAgLTEzOCwyOSArMTM2LDgzIEBAIHB1
YmxpYzoKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpID8gcmVpbnRlcnByZXRfY2FzdDxVbnNwZWNpZmllZEJvb2xUeXBlKj4oMSkgOiAwOyB9
CiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhZ2V0KCk7IH0gCiAgICAgCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEVuY29kZWRKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJyaWVyIDogcHVibGljIFdyaXRlQmFy
cmllckJhc2U8VD4geworcHVibGljOgorICAgIFdyaXRlQmFycmllcigpCisgICAgeworICAgICAg
ICB0aGlzLT5zZXRXaXRob3V0V3JpdGVCYXJyaWVyKDApOworICAgIH0KKworICAgIFdyaXRlQmFy
cmllcihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZh
bHVlKQorICAgIHsKKyAgICAgICAgdGhpcy0+c2V0KGdsb2JhbERhdGEsIG93bmVyLCB2YWx1ZSk7
CisgICAgfQorfTsKKwogdGVtcGxhdGUgPD4gY2xhc3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDog
cHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4gewogcHVibGljOgotICAgIFdyaXRlQmFy
cmllcigpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOyB9CisgICAgV3Jp
dGVCYXJyaWVyKCkKKyAgICB7CisgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIo
SlNWYWx1ZSgpKTsKKyAgICB9CisKICAgICBXcml0ZUJhcnJpZXIoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAgICAg
ICAgdGhpcy0+c2V0KGdsb2JhbERhdGEsIG93bmVyLCB2YWx1ZSk7CiAgICAgfQogfTsKIAotdGVt
cGxhdGUgPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29u
c3QgRGVwcmVjYXRlZFB0cjxVPiYgbGhzLCBjb25zdCBEZXByZWNhdGVkUHRyPFY+JiByaHMpCi17
Ci0gICAgcmV0dXJuIGxocy5nZXQoKSA9PSByaHMuZ2V0KCk7Ci19Ci0KIHRlbXBsYXRlIDx0eXBl
bmFtZSBVLCB0eXBlbmFtZSBWPiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFy
cmllckJhc2U8VT4mIGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWPiYgcmhzKQogewogICAg
IHJldHVybiBsaHMuZ2V0KCkgPT0gcmhzLmdldCgpOwogfQogCi19CisvLyBGb3IgdXNlIGluIGRh
dGEgbWVtYmVycyB0aGF0IGFyZSBvd25lZCBieSB0aGUgSGVhcC4KK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBIZWFwUm9vdCA6IHB1YmxpYyBXcml0ZUJhcnJpZXI8VD4geworcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgSGVhcDsKKyAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhOyAv
LyBGSVhNRTogTW92ZSBIZWFwIHJvb3RzIGZyb20gSlNHbG9iYWxEYXRhIHRvIEhlYXAuCisgICAg
ZnJpZW5kIGNsYXNzIFNtYWxsU3RyaW5nczsgLy8gRklYTUU6IENvbnZlcnQgU21hbGxTdHJpbmdz
IHRvIHVzZSB3ZWFrIGhhbmRsZXMuCisKKyAgICBIZWFwUm9vdCgpIHsgfQorICAgIEhlYXBSb290
KFQqIHZhbHVlKQorICAgIHsKKyAgICAgICAgdGhpcy0+c2V0V2l0aG91dFdyaXRlQmFycmllcih2
YWx1ZSk7CisgICAgfQorCitwdWJsaWM6CisgICAgSGVhcFJvb3QmIG9wZXJhdG9yPShUKiB2YWx1
ZSkKKyAgICB7CisgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIodmFsdWUpOwor
ICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorfTsKKworLy8gRm9yIHVzZSBpbiBkYXRhIG1l
bWJlcnMgdGhhdCBhcmUgb3duZWQgYnkgdGhlIEhlYXAuCit0ZW1wbGF0ZSA8PiBjbGFzcyBIZWFw
Um9vdDxVbmtub3duPiA6IHB1YmxpYyBXcml0ZUJhcnJpZXI8VW5rbm93bj4geworcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgSGVhcDsKKyAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhOyAv
LyBGSVhNRTogTW92ZSBIZWFwIHJvb3RzIGZyb20gSlNHbG9iYWxEYXRhIHRvIEhlYXAuCisgICAg
ZnJpZW5kIGNsYXNzIFNtYWxsU3RyaW5nczsgLy8gRklYTUU6IENvbnZlcnQgU21hbGxTdHJpbmdz
IHRvIHVzZSB3ZWFrIGhhbmRsZXMuCisKKyAgICBIZWFwUm9vdCgpIHsgfQorICAgIEhlYXBSb290
KEpTVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICB0aGlzLT5zZXRXaXRob3V0V3JpdGVCYXJy
aWVyKHZhbHVlKTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICBIZWFwUm9vdCYgb3BlcmF0b3I9KEpT
VmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICB0aGlzLT5zZXRXaXRob3V0V3JpdGVCYXJyaWVy
KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KK307CisKK30gLy8gbmFtZXNw
YWNlIEpTQwogCiAjZW5kaWYgLy8gV3JpdGVCYXJyaWVyX2gK
</data>
<flag name="review"
          id="77893"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>