<?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>151664</bug_id>
          
          <creation_ts>2015-11-30 11:17:42 -0800</creation_ts>
          <short_desc>Modern IDB: Correct handling of cursors finishing iteration</short_desc>
          <delta_ts>2015-11-30 13:51: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>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
    
    <blocked>150882</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144846</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 11:17:42 -0800</bug_when>
    <thetext>Modern IDB: Correct handling of cursors finishing iteration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144852</commentid>
    <comment_count>1</comment_count>
      <attachid>266254</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 11:30:40 -0800</bug_when>
    <thetext>Created attachment 266254
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144872</commentid>
    <comment_count>2</comment_count>
      <attachid>266257</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 12:22:39 -0800</bug_when>
    <thetext>Created attachment 266257
Patch v1 (re-submitted)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144874</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-30 12:23:56 -0800</bug_when>
    <thetext>Attachment 266257 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144888</commentid>
    <comment_count>4</comment_count>
      <attachid>266262</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 12:55:35 -0800</bug_when>
    <thetext>Created attachment 266262
Patch v1 yet again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144906</commentid>
    <comment_count>5</comment_count>
      <attachid>266268</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 13:24:11 -0800</bug_when>
    <thetext>Created attachment 266268
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144912</commentid>
    <comment_count>6</comment_count>
      <attachid>266271</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 13:27:48 -0800</bug_when>
    <thetext>Created attachment 266271
Patch v1 - Yet again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144918</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-30 13:51:36 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/192825</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266254</attachid>
            <date>2015-11-30 11:30:40 -0800</date>
            <delta_ts>2015-11-30 12:22:39 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6582</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MGUzMGZlLi4zNjljOTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IFN1cHBvcnQgdXBkYXRpbmcg
Y3Vyc29yIHZhbHVlcyB3aGVuIHRoZSBvYmplY3Qgc3RvcmUgdXNlcyBpbmxpbmUga2V5cy4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTY0NwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTI5
NDQ1Yi4uYWEzYzA5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNzIsNiArNzIsNyBAQCBpbnNwZWN0b3IvaW5kZXhlZGRiCiAKICMgQnV0
IE1vZGVybiBJbmRleGVkREIgaXMuCiBzdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25j
aGFuZ2UtY2xvc2VzLmh0bWwgWyBQYXNzIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1maW5p
c2hlZC5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4gWyBQYXNzIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbCBbIFBhc3MgXQog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbCBbIFBh
c3MgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDE4Y2U1ZGUuLjE0YWUyYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwyMCBAQAogMjAxNS0xMS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
KyAgICAgICAgTW9kZXJuIElEQjogQ29ycmVjdCBoYW5kbGluZyBvZiBjdXJzb3JzIGZpbmlzaGlu
ZyBpdGVyYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTE2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6
SURCQ3Vyc29yOjpzZXRHZXRSZXN1bHQpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQk9iamVjdFN0b3JlOjpwdXRPckFkZCk6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IFN1cHBvcnQgdXBk
YXRpbmcgY3Vyc29yIHZhbHVlcyB3aGVuIHRoZSBvYmplY3Qgc3RvcmUgdXNlcyBpbmxpbmUga2V5
cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTY0
NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ3Vyc29ySW1wbC5jcHAKaW5kZXggMTA4ZmRjMS4uNzQ2NDUyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJ
bXBsLmNwcApAQCAtMjg4LDYgKzI4OCwxNiBAQCB2b2lkIElEQkN1cnNvcjo6c2V0R2V0UmVzdWx0
KElEQlJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IElEQkdldFJlc3VsdCYgZ2V0UmVzdWx0KQogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFnZXRSZXN1bHQuaXNE
ZWZpbmVkKCkpIHsKKyAgICAgICAgbV9kZXByZWNhdGVkQ3VycmVudEtleSA9IHsgfTsKKyAgICAg
ICAgbV9kZXByZWNhdGVkQ3VycmVudFByaW1hcnlLZXkgPSB7IH07CisgICAgICAgIG1fY3VycmVu
dFByaW1hcnlLZXlEYXRhID0geyB9OworICAgICAgICBtX2RlcHJlY2F0ZWRDdXJyZW50VmFsdWUg
PSB7IH07CisKKyAgICAgICAgbV9nb3RWYWx1ZSA9IGZhbHNlOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgbV9kZXByZWNhdGVkQ3VycmVudEtleSA9IGlkYktleURhdGFUb1NjcmlwdFZh
bHVlKGNvbnRleHQsIGdldFJlc3VsdC5rZXlEYXRhKCkpOwogICAgIG1fZGVwcmVjYXRlZEN1cnJl
bnRQcmltYXJ5S2V5ID0gaWRiS2V5RGF0YVRvU2NyaXB0VmFsdWUoY29udGV4dCwgZ2V0UmVzdWx0
LnByaW1hcnlLZXlEYXRhKCkpOwogICAgIG1fY3VycmVudFByaW1hcnlLZXlEYXRhID0gZ2V0UmVz
dWx0LnByaW1hcnlLZXlEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCmluZGV4IDMz
YmJkMTguLmY3ZWY4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCkBAIC0yMzMsMzQg
KzIzMywzNCBAQCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1
dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOgogICAgIExPRyhJbmRleGVkREIsICJJ
REJPYmplY3RTdG9yZTo6cHV0T3JBZGQiKTsKIAogICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1Jl
YWRPbmx5KCkpIHsKLSAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJF
eGNlcHRpb25Db2RlOjpSZWFkT25seUVycm9yKTsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6UmVhZE9ubHlFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
CiAgICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGVjID0gc3Rh
dGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6VHJhbnNhY3Rpb25JbmFj
dGl2ZUVycm9yKTsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBp
ZiAobV9kZWxldGVkKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzZXJpYWxpemVkVmFsdWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgmc3RhdGUs
IHZhbHVlLCBudWxscHRyLCBudWxscHRyKTsKICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkp
IHsKLSAgICAgICAgZWMgPSBEQVRBX0NMT05FX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6RGF0YUNsb25lRXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KIAogICAgIGlmIChzZXJpYWxpemVkVmFsdWUtPmhhc0Jsb2JVUkxzKCkpIHsKICAgICAgICAg
Ly8gRklYTUU6IEFkZCBCbG9iL0ZpbGUvRmlsZUxpc3Qgc3VwcG9ydAotICAgICAgICBlYyA9IERB
VEFfQ0xPTkVfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhQ2xv
bmVFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKGtleSAm
JiBrZXktPnR5cGUoKSA9PSBLZXlUeXBlOjpJbnZhbGlkKSB7Ci0gICAgICAgIGVjID0gc3RhdGlj
X2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6RGF0YUVycm9yKTsKKyAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9yOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKQEAgLTI2OCwyNCArMjY4LDI0IEBAIFJlZlB0cjxXZWJDb3JlOjpJ
REJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6cHV0T3JBZGQoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBKU0M6CiAgICAgYm9vbCB1c2VzS2V5R2VuZXJhdG9yID0gYXV0b0luY3JlbWVudCgpOwogICAg
IGlmICh1c2VzSW5saW5lS2V5cyAmJiBpbmxpbmVLZXlDaGVjayA9PSBJbmxpbmVLZXlDaGVjazo6
UGVyZm9ybSkgewogICAgICAgICBpZiAoa2V5KSB7Ci0gICAgICAgICAgICBlYyA9IHN0YXRpY19j
YXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3I7CiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogCiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleVBh
dGhLZXkgPSBtYXliZUNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgoc3RhdGUs
IHZhbHVlLCBtX2luZm8ua2V5UGF0aCgpKTsKICAgICAgICAgaWYgKGtleVBhdGhLZXkgJiYgIWtl
eVBhdGhLZXktPmlzVmFsaWQoKSkgewotICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNl
cHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgZWMg
PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9yOwogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIWtleVBhdGhLZXkpIHsKICAgICAgICAg
ICAgIGlmICh1c2VzS2V5R2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFjYW5Jbmpl
Y3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoc3RhdGUsIHZhbHVlLCBtX2luZm8ua2V5UGF0aCgpKSkg
ewotICAgICAgICAgICAgICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElE
QkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAgICAgICAgICAgICAgIGVjID0gSURC
RGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNv
ZGU6OkRhdGFFcnJvcik7CisgICAgICAgICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6RGF0YUVycm9yOwogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC0yOTUsMTMgKzI5NSwxMyBAQCBSZWZQdHI8V2ViQ29yZTo6SURC
UmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwg
SlNDOgogICAgICAgICAgICAga2V5ID0ga2V5UGF0aEtleTsKICAgICAgICAgfQogICAgIH0gZWxz
ZSBpZiAoIXVzZXNLZXlHZW5lcmF0b3IgJiYgIWtleSkgewotICAgICAgICBlYyA9IHN0YXRpY19j
YXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCiAgICAgYXV0byBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dEZyb21FeGVjU3RhdGUoJnN0YXRlKTsKICAgICBpZiAoIWNvbnRleHQpIHsKLSAgICAgICAgZWMg
PSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpVbmtub3duKTsK
KyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yOwogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266257</attachid>
            <date>2015-11-30 12:22:39 -0800</date>
            <delta_ts>2015-11-30 12:55:35 -0800</delta_ts>
            <desc>Patch v1 (re-submitted)</desc>
            <filename>pp.txt</filename>
            <type>text/plain</type>
            <size>6582</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MGUzMGZlLi4zNjljOTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IFN1cHBvcnQgdXBkYXRpbmcg
Y3Vyc29yIHZhbHVlcyB3aGVuIHRoZSBvYmplY3Qgc3RvcmUgdXNlcyBpbmxpbmUga2V5cy4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTY0NwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTI5
NDQ1Yi4uYWEzYzA5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNzIsNiArNzIsNyBAQCBpbnNwZWN0b3IvaW5kZXhlZGRiCiAKICMgQnV0
IE1vZGVybiBJbmRleGVkREIgaXMuCiBzdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25j
aGFuZ2UtY2xvc2VzLmh0bWwgWyBQYXNzIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1maW5p
c2hlZC5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4gWyBQYXNzIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbCBbIFBhc3MgXQog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbCBbIFBh
c3MgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDE4Y2U1ZGUuLjE0YWUyYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwyMCBAQAogMjAxNS0xMS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
KyAgICAgICAgTW9kZXJuIElEQjogQ29ycmVjdCBoYW5kbGluZyBvZiBjdXJzb3JzIGZpbmlzaGlu
ZyBpdGVyYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTE2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6
SURCQ3Vyc29yOjpzZXRHZXRSZXN1bHQpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQk9iamVjdFN0b3JlOjpwdXRPckFkZCk6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IFN1cHBvcnQgdXBk
YXRpbmcgY3Vyc29yIHZhbHVlcyB3aGVuIHRoZSBvYmplY3Qgc3RvcmUgdXNlcyBpbmxpbmUga2V5
cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTY0
NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ3Vyc29ySW1wbC5jcHAKaW5kZXggMTA4ZmRjMS4uNzQ2NDUyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJ
bXBsLmNwcApAQCAtMjg4LDYgKzI4OCwxNiBAQCB2b2lkIElEQkN1cnNvcjo6c2V0R2V0UmVzdWx0
KElEQlJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IElEQkdldFJlc3VsdCYgZ2V0UmVzdWx0KQogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFnZXRSZXN1bHQuaXNE
ZWZpbmVkKCkpIHsKKyAgICAgICAgbV9kZXByZWNhdGVkQ3VycmVudEtleSA9IHsgfTsKKyAgICAg
ICAgbV9kZXByZWNhdGVkQ3VycmVudFByaW1hcnlLZXkgPSB7IH07CisgICAgICAgIG1fY3VycmVu
dFByaW1hcnlLZXlEYXRhID0geyB9OworICAgICAgICBtX2RlcHJlY2F0ZWRDdXJyZW50VmFsdWUg
PSB7IH07CisKKyAgICAgICAgbV9nb3RWYWx1ZSA9IGZhbHNlOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgbV9kZXByZWNhdGVkQ3VycmVudEtleSA9IGlkYktleURhdGFUb1NjcmlwdFZh
bHVlKGNvbnRleHQsIGdldFJlc3VsdC5rZXlEYXRhKCkpOwogICAgIG1fZGVwcmVjYXRlZEN1cnJl
bnRQcmltYXJ5S2V5ID0gaWRiS2V5RGF0YVRvU2NyaXB0VmFsdWUoY29udGV4dCwgZ2V0UmVzdWx0
LnByaW1hcnlLZXlEYXRhKCkpOwogICAgIG1fY3VycmVudFByaW1hcnlLZXlEYXRhID0gZ2V0UmVz
dWx0LnByaW1hcnlLZXlEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCmluZGV4IDMz
YmJkMTguLmY3ZWY4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwCkBAIC0yMzMsMzQg
KzIzMywzNCBAQCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1
dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOgogICAgIExPRyhJbmRleGVkREIsICJJ
REJPYmplY3RTdG9yZTo6cHV0T3JBZGQiKTsKIAogICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1Jl
YWRPbmx5KCkpIHsKLSAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJF
eGNlcHRpb25Db2RlOjpSZWFkT25seUVycm9yKTsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6UmVhZE9ubHlFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
CiAgICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGVjID0gc3Rh
dGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6VHJhbnNhY3Rpb25JbmFj
dGl2ZUVycm9yKTsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBp
ZiAobV9kZWxldGVkKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzZXJpYWxpemVkVmFsdWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgmc3RhdGUs
IHZhbHVlLCBudWxscHRyLCBudWxscHRyKTsKICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkp
IHsKLSAgICAgICAgZWMgPSBEQVRBX0NMT05FX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6RGF0YUNsb25lRXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KIAogICAgIGlmIChzZXJpYWxpemVkVmFsdWUtPmhhc0Jsb2JVUkxzKCkpIHsKICAgICAgICAg
Ly8gRklYTUU6IEFkZCBCbG9iL0ZpbGUvRmlsZUxpc3Qgc3VwcG9ydAotICAgICAgICBlYyA9IERB
VEFfQ0xPTkVfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhQ2xv
bmVFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKGtleSAm
JiBrZXktPnR5cGUoKSA9PSBLZXlUeXBlOjpJbnZhbGlkKSB7Ci0gICAgICAgIGVjID0gc3RhdGlj
X2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6RGF0YUVycm9yKTsKKyAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9yOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKQEAgLTI2OCwyNCArMjY4LDI0IEBAIFJlZlB0cjxXZWJDb3JlOjpJ
REJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6cHV0T3JBZGQoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBKU0M6CiAgICAgYm9vbCB1c2VzS2V5R2VuZXJhdG9yID0gYXV0b0luY3JlbWVudCgpOwogICAg
IGlmICh1c2VzSW5saW5lS2V5cyAmJiBpbmxpbmVLZXlDaGVjayA9PSBJbmxpbmVLZXlDaGVjazo6
UGVyZm9ybSkgewogICAgICAgICBpZiAoa2V5KSB7Ci0gICAgICAgICAgICBlYyA9IHN0YXRpY19j
YXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3I7CiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogCiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleVBh
dGhLZXkgPSBtYXliZUNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgoc3RhdGUs
IHZhbHVlLCBtX2luZm8ua2V5UGF0aCgpKTsKICAgICAgICAgaWYgKGtleVBhdGhLZXkgJiYgIWtl
eVBhdGhLZXktPmlzVmFsaWQoKSkgewotICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNl
cHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgZWMg
PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9yOwogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIWtleVBhdGhLZXkpIHsKICAgICAgICAg
ICAgIGlmICh1c2VzS2V5R2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFjYW5Jbmpl
Y3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoc3RhdGUsIHZhbHVlLCBtX2luZm8ua2V5UGF0aCgpKSkg
ewotICAgICAgICAgICAgICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElE
QkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAgICAgICAgICAgICAgIGVjID0gSURC
RGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNv
ZGU6OkRhdGFFcnJvcik7CisgICAgICAgICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6RGF0YUVycm9yOwogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC0yOTUsMTMgKzI5NSwxMyBAQCBSZWZQdHI8V2ViQ29yZTo6SURC
UmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwg
SlNDOgogICAgICAgICAgICAga2V5ID0ga2V5UGF0aEtleTsKICAgICAgICAgfQogICAgIH0gZWxz
ZSBpZiAoIXVzZXNLZXlHZW5lcmF0b3IgJiYgIWtleSkgewotICAgICAgICBlYyA9IHN0YXRpY19j
YXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlvbkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCiAgICAgYXV0byBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dEZyb21FeGVjU3RhdGUoJnN0YXRlKTsKICAgICBpZiAoIWNvbnRleHQpIHsKLSAgICAgICAgZWMg
PSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpVbmtub3duKTsK
KyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yOwogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266262</attachid>
            <date>2015-11-30 12:55:35 -0800</date>
            <delta_ts>2015-11-30 13:24:11 -0800</delta_ts>
            <desc>Patch v1 yet again</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6664</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5ODdhYTRiLi5kYTRmYjc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IEFmdGVyIHZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb25zIGFib3J0LCBmaXJlIG9uZXJyb3Igb24gdGhlIG9yaWdpbmFsIElEQk9w
ZW5EQlJlcXVlc3QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTE2NDgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDUyOTQ0NWIuLmFhM2MwOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTcyLDYgKzcyLDcgQEAgaW5zcGVjdG9yL2lu
ZGV4ZWRkYgogCiAjIEJ1dCBNb2Rlcm4gSW5kZXhlZERCIGlzLgogc3RvcmFnZS9pbmRleGVkZGIv
YWJvcnRlZC12ZXJzaW9uY2hhbmdlLWNsb3Nlcy5odG1sIFsgUGFzcyBdCitzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItZmluaXNoZWQuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJl
Lmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1p
bmRleGVzLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NzgyN2YzLi4yNGZjMjEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJREI6IENvcnJlY3QgaGFuZGxpbmcgb2Yg
Y3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUgcHJldmlvdXNs
eSBmYWlsaW5nIHRlc3Qgbm93IHBhc3NlcykuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6
OklEQkN1cnNvcjo6c2V0R2V0UmVzdWx0KToKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQk9iamVjdFN0b3JlOjpwdXRPckFkZCk6CisKKzIwMTUtMTEtMzAgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IEFm
dGVyIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb25zIGFib3J0LCBmaXJlIG9uZXJyb3Igb24gdGhl
IG9yaWdpbmFsIElEQk9wZW5EQlJlcXVlc3QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE2NDgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwCmluZGV4IDEwOGZk
YzEuLjc0NjQ1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAKQEAgLTI4OCw2ICsyODgsMTYgQEAgdm9p
ZCBJREJDdXJzb3I6OnNldEdldFJlc3VsdChJREJSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBJREJH
ZXRSZXN1bHQmIGdldFJlc3VsdCkKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybjsK
IAorICAgIGlmICghZ2V0UmVzdWx0LmlzRGVmaW5lZCgpKSB7CisgICAgICAgIG1fZGVwcmVjYXRl
ZEN1cnJlbnRLZXkgPSB7IH07CisgICAgICAgIG1fZGVwcmVjYXRlZEN1cnJlbnRQcmltYXJ5S2V5
ID0geyB9OworICAgICAgICBtX2N1cnJlbnRQcmltYXJ5S2V5RGF0YSA9IHsgfTsKKyAgICAgICAg
bV9kZXByZWNhdGVkQ3VycmVudFZhbHVlID0geyB9OworCisgICAgICAgIG1fZ290VmFsdWUgPSBm
YWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fZGVwcmVjYXRlZEN1cnJlbnRL
ZXkgPSBpZGJLZXlEYXRhVG9TY3JpcHRWYWx1ZShjb250ZXh0LCBnZXRSZXN1bHQua2V5RGF0YSgp
KTsKICAgICBtX2RlcHJlY2F0ZWRDdXJyZW50UHJpbWFyeUtleSA9IGlkYktleURhdGFUb1Njcmlw
dFZhbHVlKGNvbnRleHQsIGdldFJlc3VsdC5wcmltYXJ5S2V5RGF0YSgpKTsKICAgICBtX2N1cnJl
bnRQcmltYXJ5S2V5RGF0YSA9IGdldFJlc3VsdC5wcmltYXJ5S2V5RGF0YSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3Jl
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2Jq
ZWN0U3RvcmVJbXBsLmNwcAppbmRleCAzM2JiZDE4Li5mN2VmODcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0
U3RvcmVJbXBsLmNwcApAQCAtMjMzLDM0ICsyMzMsMzQgQEAgUmVmUHRyPFdlYkNvcmU6OklEQlJl
cXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRPckFkZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpT
QzoKICAgICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkIik7CiAKICAg
ICBpZiAobV90cmFuc2FjdGlvbi0+aXNSZWFkT25seSgpKSB7Ci0gICAgICAgIGVjID0gc3RhdGlj
X2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6UmVhZE9ubHlFcnJvcik7Cisg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlJlYWRPbmx5RXJyb3I7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNBY3Rp
dmUoKSkgewotICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2Vw
dGlvbkNvZGU6OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcik7CisgICAgICAgIGVjID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1fZGVsZXRlZCkgewotICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZh
bGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFZhbHVlID0gU2VyaWFsaXplZFNj
cmlwdFZhbHVlOjpjcmVhdGUoJnN0YXRlLCB2YWx1ZSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAg
aWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKSB7Ci0gICAgICAgIGVjID0gREFUQV9DTE9ORV9FUlI7
CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFDbG9uZUVycm9yOwogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoc2VyaWFsaXplZFZhbHVlLT5o
YXNCbG9iVVJMcygpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgQmxvYi9GaWxlL0ZpbGVMaXN0
IHN1cHBvcnQKLSAgICAgICAgZWMgPSBEQVRBX0NMT05FX0VSUjsKKyAgICAgICAgZWMgPSBJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUNsb25lRXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIGlmIChrZXkgJiYga2V5LT50eXBlKCkgPT0gS2V5VHlwZTo6SW52YWxp
ZCkgewotICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlv
bkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRh
dGFFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCkBAIC0yNjgsMjQgKzI2
OCwyNCBAQCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dE9y
QWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOgogICAgIGJvb2wgdXNlc0tleUdlbmVyYXRv
ciA9IGF1dG9JbmNyZW1lbnQoKTsKICAgICBpZiAodXNlc0lubGluZUtleXMgJiYgaW5saW5lS2V5
Q2hlY2sgPT0gSW5saW5lS2V5Q2hlY2s6OlBlcmZvcm0pIHsKICAgICAgICAgaWYgKGtleSkgewot
ICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25D
b2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
RGF0YUVycm9yOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KIAogICAg
ICAgICBSZWZQdHI8SURCS2V5PiBrZXlQYXRoS2V5ID0gbWF5YmVDcmVhdGVJREJLZXlGcm9tU2Ny
aXB0VmFsdWVBbmRLZXlQYXRoKHN0YXRlLCB2YWx1ZSwgbV9pbmZvLmtleVBhdGgoKSk7CiAgICAg
ICAgIGlmIChrZXlQYXRoS2V5ICYmICFrZXlQYXRoS2V5LT5pc1ZhbGlkKCkpIHsKLSAgICAgICAg
ICAgIGVjID0gc3RhdGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6RGF0
YUVycm9yKTsKKyAgICAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJv
cjsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KCFrZXlQYXRoS2V5KSB7CiAgICAgICAgICAgICBpZiAodXNlc0tleUdlbmVyYXRvcikgewogICAg
ICAgICAgICAgICAgIGlmICghY2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKHN0YXRlLCB2
YWx1ZSwgbV9pbmZvLmtleVBhdGgoKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZWMgPSBzdGF0
aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAg
ICAgICAgICAgICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3I7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNl
cHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjk1LDEzICsyOTUs
MTMgQEAgUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRPckFk
ZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzoKICAgICAgICAgICAgIGtleSA9IGtleVBhdGhL
ZXk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCF1c2VzS2V5R2VuZXJhdG9yICYmICFrZXkp
IHsKLSAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25D
b2RlOjpEYXRhRXJyb3IpOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRh
RXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGF1dG8gY29udGV4
dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSk7CiAgICAgaWYg
KCFjb250ZXh0KSB7Ci0gICAgICAgIGVjID0gc3RhdGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURC
RXhjZXB0aW9uQ29kZTo6VW5rbm93bik7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OlVua25vd25FcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266268</attachid>
            <date>2015-11-30 13:24:11 -0800</date>
            <delta_ts>2015-11-30 13:27:48 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8203</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5ODdhYTRiLi4zODZjNzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IEFmdGVyIHZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb25zIGFib3J0LCBmaXJlIG9uZXJyb3Igb24gdGhlIG9yaWdpbmFsIElEQk9w
ZW5EQlJlcXVlc3QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTE2NDgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGFhM2MwOWMuLjdiYjUxZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTcyLDYgKzcyLDcgQEAgaW5zcGVjdG9yL2lu
ZGV4ZWRkYgogCiAjIEJ1dCBNb2Rlcm4gSW5kZXhlZERCIGlzLgogc3RvcmFnZS9pbmRleGVkZGIv
YWJvcnRlZC12ZXJzaW9uY2hhbmdlLWNsb3Nlcy5odG1sIFsgUGFzcyBdCitzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItY2FzdC5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
ZmluaXNoZWQuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuIFsgUGFzcyBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJlLmh0bWwgWyBQYXNz
IF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA1NzgyN2YzLi5jZmQ1NjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MjcgQEAKIDIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisg
ICAgICAgIE1vZGVybiBJREI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcg
aXRlcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUxNjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUgZXhpc3RpbmcgZmFpbGluZyB0ZXN0IG5vdyBw
YXNzZXMpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvcklt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDdXJzb3I6OnVwZGF0ZSk6
CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RT
dG9yZUltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJPYmplY3RTdG9y
ZTo6cHV0Rm9yQ3Vyc29yVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURC
T2JqZWN0U3RvcmU6OnB1dE9yQWRkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCT2JqZWN0U3RvcmVJbXBsLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJD
bGllbnQ6OklEQlJlcXVlc3Q6OklEQlJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xp
ZW50OjpJREJSZXF1ZXN0OjpzZXRTb3VyY2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oOgorCisyMDE1LTExLTMwICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KKwogICAgICAgICBNb2Rlcm4gSURCOiBBZnRlciB2ZXJzaW9uY2hh
bmdlIHRyYW5zYWN0aW9ucyBhYm9ydCwgZmlyZSBvbmVycm9yIG9uIHRoZSBvcmlnaW5hbCBJREJP
cGVuREJSZXF1ZXN0LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTUxNjQ4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcAppbmRleCA3NDY0NTIwLi42YzdiM2QwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vy
c29ySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkN1cnNvckltcGwuY3BwCkBAIC0xMzksNyArMTM5LDkgQEAgUmVmUHRyPFdlYkNvcmU6OklE
QlJlcXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKEpTQzo6RXhlY1N0YXRlJiBleGVjLCBEZXByZWNh
dGVkOjoKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIGVmZmVj
dGl2ZU9iamVjdFN0b3JlKCkucHV0Rm9yQ3Vyc29yVXBkYXRlKGV4ZWMsIHZhbHVlLmpzVmFsdWUo
KSwgbV9kZXByZWNhdGVkQ3VycmVudFByaW1hcnlLZXkuanNWYWx1ZSgpLCBlYyk7CisgICAgYXV0
byByZXF1ZXN0ID0gZWZmZWN0aXZlT2JqZWN0U3RvcmUoKS5wdXRGb3JDdXJzb3JVcGRhdGUoZXhl
YywgdmFsdWUuanNWYWx1ZSgpLCBtX2RlcHJlY2F0ZWRDdXJyZW50UHJpbWFyeUtleS5qc1ZhbHVl
KCksIGVjKTsKKyAgICByZXF1ZXN0LT5zZXRTb3VyY2UoKnRoaXMpOworICAgIHJldHVybiByZXF1
ZXN0OwogfQogCiB2b2lkIElEQkN1cnNvcjo6YWR2YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBF
eGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKaW5kZXggZjdlZjg3
MS4uNGM3ZjcxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKQEAgLTIyMywxMiArMjIz
LDEyIEBAIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6cHV0KEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhCiAgICAgcmV0dXJuIHB1dE9yQWRkKHN0YXRl
LCB2YWx1ZSwgbnVsbHB0ciwgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGU6Ok92
ZXJ3cml0ZSwgSW5saW5lS2V5Q2hlY2s6OlBlcmZvcm0sIGVjKTsKIH0KIAotUmVmUHRyPFdlYkNv
cmU6OklEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRGb3JDdXJzb3JVcGRhdGUoSlNDOjpF
eGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUsIEpTQzo6SlNWYWx1ZSBrZXksIEV4
Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRG
b3JDdXJzb3JVcGRhdGUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUs
IEpTQzo6SlNWYWx1ZSBrZXksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIHJldHVybiBwdXRP
ckFkZChzdGF0ZSwgdmFsdWUsIHNjcmlwdFZhbHVlVG9JREJLZXkoc3RhdGUsIGtleSksIEluZGV4
ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlOjpPdmVyd3JpdGUsIElubGluZUtleUNoZWNr
OjpEb05vdFBlcmZvcm0sIGVjKTsKIH0KIAotUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IElE
Qk9iamVjdFN0b3JlOjpwdXRPckFkZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1
ZSB2YWx1ZSwgUmVmUHRyPElEQktleT4ga2V5LCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3Zlcndy
aXRlTW9kZSBvdmVyd3JpdGVNb2RlLCBJbmxpbmVLZXlDaGVjayBpbmxpbmVLZXlDaGVjaywgRXhj
ZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dE9y
QWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZhbHVlLCBSZWZQdHI8SURC
S2V5PiBrZXksIEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlIG92ZXJ3cml0ZU1v
ZGUsIElubGluZUtleUNoZWNrIGlubGluZUtleUNoZWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkIik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RT
dG9yZUltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJP
YmplY3RTdG9yZUltcGwuaAppbmRleCBjZDI1ZWFmLi5hNWMzZmJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0
b3JlSW1wbC5oCkBAIC00MSw2ICs0MSw3IEBAIHN0cnVjdCBJREJLZXlSYW5nZURhdGE7CiAKIG5h
bWVzcGFjZSBJREJDbGllbnQgewogCitjbGFzcyBJREJSZXF1ZXN0OwogY2xhc3MgSURCVHJhbnNh
Y3Rpb247CiAKIGNsYXNzIElEQk9iamVjdFN0b3JlIDogcHVibGljIFdlYkNvcmU6OklEQk9iamVj
dFN0b3JlIHsKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVmUHRyPFdl
YkNvcmU6OklEQlJlcXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBJREJLZXlS
YW5nZSosIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIFJlZlB0
cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBjb3VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRl
IGZpbmFsOwogCi0gICAgUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IHB1dEZvckN1cnNvclVw
ZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlIGtleSwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBwdXRGb3JDdXJzb3JVcGRhdGUo
SlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSBrZXksIEV4Y2VwdGlv
bkNvZGUmKTsKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBkZWxldGVGdW5jdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgSlNDOjpKU1ZhbHVlIGtleSwgRXhjZXB0aW9uQ29k
ZSYpOwogCkBAIC05OSw3ICsxMDAsNyBAQCBwcml2YXRlOgogICAgICAgICBEb05vdFBlcmZvcm0s
CiAgICAgfTsKIAotICAgIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBwdXRPckFkZChKU0M6
OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSwgUmVmUHRyPElEQktleT4sIEluZGV4ZWREQjo6T2Jq
ZWN0U3RvcmVPdmVyd3JpdGVNb2RlLCBJbmxpbmVLZXlDaGVjaywgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBwdXRPckFkZChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNW
YWx1ZSwgUmVmUHRyPElEQktleT4sIEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2Rl
LCBJbmxpbmVLZXlDaGVjaywgRXhjZXB0aW9uQ29kZSYpOwogICAgIFJlZlB0cjxXZWJDb3JlOjpJ
REJSZXF1ZXN0PiBkb0NvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBJREJLZXlS
YW5nZURhdGEmLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBJREJPYmplY3RTdG9yZUluZm8gbV9p
bmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQlJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKaW5kZXggZTljNGU3NC4uMWRhZWMwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVx
dWVzdEltcGwuY3BwCkBAIC04NiwxNiArODYsMTIgQEAgSURCUmVxdWVzdDo6SURCUmVxdWVzdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBJREJDdXJzb3ImIGN1cnNvciwgSURCVHIK
ICAgICAsIG1fdHJhbnNhY3Rpb24oJnRyYW5zYWN0aW9uKQogICAgICwgbV9jb25uZWN0aW9uKHRy
YW5zYWN0aW9uLnNlcnZlckNvbm5lY3Rpb24oKSkKICAgICAsIG1fcmVzb3VyY2VJZGVudGlmaWVy
KHRyYW5zYWN0aW9uLnNlcnZlckNvbm5lY3Rpb24oKSkKKyAgICAsIG1fc291cmNlKElEQkFueTo6
Y3JlYXRlKGN1cnNvcikpCiAgICAgLCBtX3BlbmRpbmdDdXJzb3IoJmN1cnNvcikKIHsKICAgICBz
dXNwZW5kSWZOZWVkZWQoKTsKIAogICAgIGN1cnNvci5zZXRSZXF1ZXN0KCp0aGlzKTsKLQotICAg
IGF1dG8qIGN1cnNvclNvdXJjZSA9IGN1cnNvci5zb3VyY2UoKTsKLSAgICBBU1NFUlQoY3Vyc29y
U291cmNlKTsKLSAgICBBU1NFUlQoY3Vyc29yU291cmNlLT50eXBlKCkgPT0gSURCQW55OjpUeXBl
OjpJREJPYmplY3RTdG9yZSB8fCBjdXJzb3JTb3VyY2UtPnR5cGUoKSA9PSBJREJBbnk6OlR5cGU6
OklEQkluZGV4KTsKLSAgICBtX3NvdXJjZSA9IGN1cnNvclNvdXJjZTsKIH0KIAogSURCUmVxdWVz
dDo6SURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBJREJJbmRleCYg
aW5kZXgsIElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbikKQEAgLTE0Myw2ICsxMzksMTEgQEAg
UmVmUHRyPFdlYkNvcmU6OklEQkFueT4gSURCUmVxdWVzdDo6c291cmNlKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9zb3VyY2U7CiB9CiAKK3ZvaWQgSURCUmVxdWVzdDo6c2V0U291cmNlKElEQkN1cnNv
ciYgY3Vyc29yKQoreworICAgIG1fc291cmNlID0gSURCQW55OjpjcmVhdGUoY3Vyc29yKTsKK30K
KwogUmVmUHRyPFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uPiBJREJSZXF1ZXN0Ojp0cmFuc2FjdGlv
bigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCmlu
ZGV4IGEzYzQ2MDQuLmUyM2ZkODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCkBAIC05Nyw2ICs5Nyw4IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IElEQkN1cnNvciogcGVuZGluZ0N1cnNvcigpIGNvbnN0IHsg
cmV0dXJuIG1fcGVuZGluZ0N1cnNvci5nZXQoKTsgfQogCisgICAgdm9pZCBzZXRTb3VyY2UoSURC
Q3Vyc29yJik7CisKIHByb3RlY3RlZDoKICAgICBJREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1Nl
cnZlciYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBJREJSZXF1ZXN0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBJREJPYmplY3RTdG9yZSYsIElEQlRyYW5zYWN0aW9uJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266271</attachid>
            <date>2015-11-30 13:27:48 -0800</date>
            <delta_ts>2015-11-30 13:47:43 -0800</delta_ts>
            <desc>Patch v1 - Yet again</desc>
            <filename>664.txt</filename>
            <type>text/plain</type>
            <size>6664</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5ODdhYTRiLi5kYTRmYjc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IENvcnJlY3QgaGFuZGxpbmcgb2YgY3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IEFmdGVyIHZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb25zIGFib3J0LCBmaXJlIG9uZXJyb3Igb24gdGhlIG9yaWdpbmFsIElEQk9w
ZW5EQlJlcXVlc3QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTE2NDgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDUyOTQ0NWIuLmFhM2MwOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTcyLDYgKzcyLDcgQEAgaW5zcGVjdG9yL2lu
ZGV4ZWRkYgogCiAjIEJ1dCBNb2Rlcm4gSW5kZXhlZERCIGlzLgogc3RvcmFnZS9pbmRleGVkZGIv
YWJvcnRlZC12ZXJzaW9uY2hhbmdlLWNsb3Nlcy5odG1sIFsgUGFzcyBdCitzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItZmluaXNoZWQuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJl
Lmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1p
bmRleGVzLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NzgyN2YzLi4yNGZjMjEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTUtMTEtMzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJREI6IENvcnJlY3QgaGFuZGxpbmcgb2Yg
Y3Vyc29ycyBmaW5pc2hpbmcgaXRlcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUgcHJldmlvdXNs
eSBmYWlsaW5nIHRlc3Qgbm93IHBhc3NlcykuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6
OklEQkN1cnNvcjo6c2V0R2V0UmVzdWx0KToKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQk9iamVjdFN0b3JlOjpwdXRPckFkZCk6CisKKzIwMTUtMTEtMzAgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIE1vZGVybiBJREI6IEFm
dGVyIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb25zIGFib3J0LCBmaXJlIG9uZXJyb3Igb24gdGhl
IG9yaWdpbmFsIElEQk9wZW5EQlJlcXVlc3QuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE2NDgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwCmluZGV4IDEwOGZk
YzEuLjc0NjQ1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAKQEAgLTI4OCw2ICsyODgsMTYgQEAgdm9p
ZCBJREJDdXJzb3I6OnNldEdldFJlc3VsdChJREJSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBJREJH
ZXRSZXN1bHQmIGdldFJlc3VsdCkKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybjsK
IAorICAgIGlmICghZ2V0UmVzdWx0LmlzRGVmaW5lZCgpKSB7CisgICAgICAgIG1fZGVwcmVjYXRl
ZEN1cnJlbnRLZXkgPSB7IH07CisgICAgICAgIG1fZGVwcmVjYXRlZEN1cnJlbnRQcmltYXJ5S2V5
ID0geyB9OworICAgICAgICBtX2N1cnJlbnRQcmltYXJ5S2V5RGF0YSA9IHsgfTsKKyAgICAgICAg
bV9kZXByZWNhdGVkQ3VycmVudFZhbHVlID0geyB9OworCisgICAgICAgIG1fZ290VmFsdWUgPSBm
YWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fZGVwcmVjYXRlZEN1cnJlbnRL
ZXkgPSBpZGJLZXlEYXRhVG9TY3JpcHRWYWx1ZShjb250ZXh0LCBnZXRSZXN1bHQua2V5RGF0YSgp
KTsKICAgICBtX2RlcHJlY2F0ZWRDdXJyZW50UHJpbWFyeUtleSA9IGlkYktleURhdGFUb1Njcmlw
dFZhbHVlKGNvbnRleHQsIGdldFJlc3VsdC5wcmltYXJ5S2V5RGF0YSgpKTsKICAgICBtX2N1cnJl
bnRQcmltYXJ5S2V5RGF0YSA9IGdldFJlc3VsdC5wcmltYXJ5S2V5RGF0YSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3Jl
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2Jq
ZWN0U3RvcmVJbXBsLmNwcAppbmRleCAzM2JiZDE4Li5mN2VmODcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0
U3RvcmVJbXBsLmNwcApAQCAtMjMzLDM0ICsyMzMsMzQgQEAgUmVmUHRyPFdlYkNvcmU6OklEQlJl
cXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRPckFkZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpT
QzoKICAgICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkIik7CiAKICAg
ICBpZiAobV90cmFuc2FjdGlvbi0+aXNSZWFkT25seSgpKSB7Ci0gICAgICAgIGVjID0gc3RhdGlj
X2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6UmVhZE9ubHlFcnJvcik7Cisg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlJlYWRPbmx5RXJyb3I7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNBY3Rp
dmUoKSkgewotICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2Vw
dGlvbkNvZGU6OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcik7CisgICAgICAgIGVjID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1fZGVsZXRlZCkgewotICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZh
bGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFZhbHVlID0gU2VyaWFsaXplZFNj
cmlwdFZhbHVlOjpjcmVhdGUoJnN0YXRlLCB2YWx1ZSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAg
aWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKSB7Ci0gICAgICAgIGVjID0gREFUQV9DTE9ORV9FUlI7
CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFDbG9uZUVycm9yOwogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoc2VyaWFsaXplZFZhbHVlLT5o
YXNCbG9iVVJMcygpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgQmxvYi9GaWxlL0ZpbGVMaXN0
IHN1cHBvcnQKLSAgICAgICAgZWMgPSBEQVRBX0NMT05FX0VSUjsKKyAgICAgICAgZWMgPSBJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUNsb25lRXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIGlmIChrZXkgJiYga2V5LT50eXBlKCkgPT0gS2V5VHlwZTo6SW52YWxp
ZCkgewotICAgICAgICBlYyA9IHN0YXRpY19jYXN0PEV4Y2VwdGlvbkNvZGU+KElEQkV4Y2VwdGlv
bkNvZGU6OkRhdGFFcnJvcik7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRh
dGFFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCkBAIC0yNjgsMjQgKzI2
OCwyNCBAQCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dE9y
QWRkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOgogICAgIGJvb2wgdXNlc0tleUdlbmVyYXRv
ciA9IGF1dG9JbmNyZW1lbnQoKTsKICAgICBpZiAodXNlc0lubGluZUtleXMgJiYgaW5saW5lS2V5
Q2hlY2sgPT0gSW5saW5lS2V5Q2hlY2s6OlBlcmZvcm0pIHsKICAgICAgICAgaWYgKGtleSkgewot
ICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25D
b2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
RGF0YUVycm9yOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KIAogICAg
ICAgICBSZWZQdHI8SURCS2V5PiBrZXlQYXRoS2V5ID0gbWF5YmVDcmVhdGVJREJLZXlGcm9tU2Ny
aXB0VmFsdWVBbmRLZXlQYXRoKHN0YXRlLCB2YWx1ZSwgbV9pbmZvLmtleVBhdGgoKSk7CiAgICAg
ICAgIGlmIChrZXlQYXRoS2V5ICYmICFrZXlQYXRoS2V5LT5pc1ZhbGlkKCkpIHsKLSAgICAgICAg
ICAgIGVjID0gc3RhdGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURCRXhjZXB0aW9uQ29kZTo6RGF0
YUVycm9yKTsKKyAgICAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJv
cjsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KCFrZXlQYXRoS2V5KSB7CiAgICAgICAgICAgICBpZiAodXNlc0tleUdlbmVyYXRvcikgewogICAg
ICAgICAgICAgICAgIGlmICghY2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKHN0YXRlLCB2
YWx1ZSwgbV9pbmZvLmtleVBhdGgoKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZWMgPSBzdGF0
aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAg
ICAgICAgICAgICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3I7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNl
cHRpb25Db2RlPihJREJFeGNlcHRpb25Db2RlOjpEYXRhRXJyb3IpOworICAgICAgICAgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvcjsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjk1LDEzICsyOTUs
MTMgQEAgUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRPckFk
ZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzoKICAgICAgICAgICAgIGtleSA9IGtleVBhdGhL
ZXk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCF1c2VzS2V5R2VuZXJhdG9yICYmICFrZXkp
IHsKLSAgICAgICAgZWMgPSBzdGF0aWNfY2FzdDxFeGNlcHRpb25Db2RlPihJREJFeGNlcHRpb25D
b2RlOjpEYXRhRXJyb3IpOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRh
RXJyb3I7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGF1dG8gY29udGV4
dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSk7CiAgICAgaWYg
KCFjb250ZXh0KSB7Ci0gICAgICAgIGVjID0gc3RhdGljX2Nhc3Q8RXhjZXB0aW9uQ29kZT4oSURC
RXhjZXB0aW9uQ29kZTo6VW5rbm93bik7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OlVua25vd25FcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="291290"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>