<tracker id='tracker-493974'>
<item id="706566">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="45790">
      <content_disposition>attachment; filename=siproxd_0.2.8_patch</content_disposition>
      <content_type>application/octet-stream</content_type>
      <description>patch against 0.2.8, apply in src/ directory</description>
      <etag>"jpd--320614926.8333"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=45790&amp;aid=706566</link>
      <title>siproxd_0.2.8_patch</title>
      <data encoding="base64">
SW5kZXg6IGFjY2Vzc2N0bC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvQ1ZTUk9P
VC9zaXByb3hkL3NyYy9hY2Nlc3NjdGwuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYg
LWMgLXIxLjQgYWNjZXNzY3RsLmMKKioqIGFjY2Vzc2N0bC5jCTIzIE5vdiAyMDAyIDEzOjMzOjI4
IC0wMDAwCTEuNAotLS0gYWNjZXNzY3RsLmMJMjMgTWFyIDIwMDMgMjM6MjA6MTAgLTAwMDAKKioq
KioqKioqKioqKioqCioqKiA1MSw1OSAqKioqCiAgaW50IGFjY2Vzc2xpc3RfY2hlY2sgKHN0cnVj
dCBzb2NrYWRkcl9pbiBmcm9tKSB7CiAgICAgaW50IGFjY2VzcyA9IDA7CiAgCiEgICAgREVCVUdD
KERCQ0xBU1NfQUNDRVNTLCJkZW55ICBsaXN0IChTSVApOiVzIixjb25maWd1cmF0aW9uLmhvc3Rz
X2Rlbnlfc2lwKTsKISAgICBERUJVR0MoREJDTEFTU19BQ0NFU1MsImFsbG93IGxpc3QgKFNJUCk6
JXMiLGNvbmZpZ3VyYXRpb24uaG9zdHNfYWxsb3dfc2lwKTsKISAgICBERUJVR0MoREJDTEFTU19B
Q0NFU1MsImFsbG93IGxpc3QgKFJFRyk6JXMiLGNvbmZpZ3VyYXRpb24uaG9zdHNfYWxsb3dfcmVn
KTsKICAKICAvKgogICAqIGNoZWNrIERFTlkgbGlzdAotLS0gNTEsNjIgLS0tLQogIGludCBhY2Nl
c3NsaXN0X2NoZWNrIChzdHJ1Y3Qgc29ja2FkZHJfaW4gZnJvbSkgewogICAgIGludCBhY2Nlc3Mg
PSAwOwogIAohICAgIERFQlVHQyhEQkNMQVNTX0FDQ0VTUywiZGVueSAgbGlzdCAoU0lQKTolcyIs
CiEgICAgICAgY29uZmlndXJhdGlvbi5ob3N0c19kZW55X3NpcD8gY29uZmlndXJhdGlvbi5ob3N0
c19kZW55X3NpcCA6ICJOVUxMIik7CiEgICAgREVCVUdDKERCQ0xBU1NfQUNDRVNTLCJhbGxvdyBs
aXN0IChTSVApOiVzIiwKISAgICAgICBjb25maWd1cmF0aW9uLmhvc3RzX2FsbG93X3NpcD8gY29u
ZmlndXJhdGlvbi5ob3N0c19hbGxvd19zaXAgOiAiTlVMTCIpOwohICAgIERFQlVHQyhEQkNMQVNT
X0FDQ0VTUywiYWxsb3cgbGlzdCAoUkVHKTolcyIsCiEgICAgICAgY29uZmlndXJhdGlvbi5ob3N0
c19hbGxvd19yZWc/IGNvbmZpZ3VyYXRpb24uaG9zdHNfYWxsb3dfcmVnIDogIk5VTEwiKTsKICAK
ICAvKgogICAqIGNoZWNrIERFTlkgbGlzdApJbmRleDogcHJveHkuYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvdXNyL2xvY2FsL0NWU1JPT1Qvc2lwcm94ZC9zcmMvcHJveHkuYyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xNgpkaWZmIC1jIC1yMS4xNiBwcm94eS5jCioqKiBwcm94eS5jCTkgTWFyIDIw
MDMgMjA6NDk6NTAgLTAwMDAJMS4xNgotLS0gcHJveHkuYwkyMyBNYXIgMjAwMyAyMzo1NjowNCAt
MDAwMAoqKioqKioqKioqKioqKioKKioqIDE1NSwxNjAgKioqKgotLS0gMTU1LDE3NyAtLS0tCiAg
ICAgKiBmcm9tIHRoZSBpbnRlcm5hbCBtYXNxdWVyYWRlZCBob3N0IHRvIGFuIGV4dGVybmFsIGhv
c3QKICAgICAqLwogICAgIGNhc2UgUkVRVFlQX09VVEdPSU5HOgorICAgICAgIC8qIGlmIGl0IGlz
IGFkZHJlc3NlZCB0byBteXNlbGYsIHRoZW4gaXQgbXVzdCBiZSBzb21lIHJlcXVlc3QKKyAgICAg
ICAgKiBtZXRob2QgdGhhdCBJIGFzIGEgcHJveHkgZG8gbm90IHN1cHBvcnQuIFJlamVjdCAqLwor
ICAgICAgIGlmIChpc19zaXB1cmlfbG9jYWwocmVxdWVzdCkgPT0gU1RTX1RSVUUpIHsKKyAgICAg
ICAgICB1cmw9bXNnX2dldHVyaShyZXF1ZXN0KTsKKyAgICAgICAgICBXQVJOKCJ1bnN1cHBvcnRl
ZCByZXF1ZXN0IFslc10gZGlyZWN0ZWQgdG8gcHJveHkgZnJvbSAlc0AlcyAtPiAlc0AlcyIsCisg
CSAgICAgICAgICAgcmVxdWVzdC0+c3RydGxpbmUtPnNpcG1ldGhvZCwKKyAJICAgICAgICAgICBy
ZXF1ZXN0LT5mcm9tLT51cmwtPnVzZXJuYW1lLAorIAkJICAgcmVxdWVzdC0+ZnJvbS0+dXJsLT5o
b3N0LAorIAkgICAgICAgICAgIHVybC0+dXNlcm5hbWUsCisgCQkgICB1cmwtPmhvc3QpOworIAor
ICAgICAgICAgIHByb3h5X2dlbl9yZXNwb25zZShyZXF1ZXN0LCA0MDMgLypmb3JiaWRkZW4qLyk7
CisgCisgICAgICAgICAgcmV0dXJuIFNUU19GQUlMVVJFOworICAgICAgIH0KKyAKKyAKICAgICAg
ICAvKiBpZiBhbiBJTlZJVEUsIHJld3JpdGUgYm9keSAqLwogICAgICAgIGlmIChNU0dfSVNfSU5W
SVRFKHJlcXVlc3QpKSB7CiAgICAgICAgICAgc3RzID0gcHJveHlfcmV3cml0ZV9pbnZpdGF0aW9u
X2JvZHkocmVxdWVzdCk7CioqKioqKioqKioqKioqKgoqKiogMjAxLDIxNyAqKioqCiAgICAgZGVm
YXVsdDoKICAgICAgICB1cmw9bXNnX2dldHVyaShyZXF1ZXN0KTsKICAgICAgICBERUJVR0MoREJD
TEFTU19QUk9YWSwicHJveHlfcmVxdWVzdDogcmVmdXNlZCB0byBwcm94eSIpOwohICAgICAgIFdB
Uk4oInJlcXVlc3QgZnJvbS90byB1bnJlZ2lzdGVyZWQgVUEgKFJROiAlc0AlcyAtPiAlc0Alcyki
LAogIAkgICAgICAgIHJlcXVlc3QtPmZyb20tPnVybC0+dXNlcm5hbWUsCiAgCQlyZXF1ZXN0LT5m
cm9tLT51cmwtPmhvc3QsCiAgCSAgICAgICAgdXJsLT51c2VybmFtZSwKICAJCXVybC0+aG9zdCk7
CiEgLyogc29tZSBjbGllbnRzIHNlZW0gdG8gcnVuIGFtb2sgd2hlbiBwYXNzaW5nIGJhY2sgYSBu
ZWdhdGl2ZSByZXNwb25zZQohICAqIHNvIHdlIHNpbXBseSBkcm9wIHRoZSByZXF1ZXN0IHNpbGVu
dGx5CiAgICovCi0gI2lmIDAKICAgICAgICBwcm94eV9nZW5fcmVzcG9uc2UocmVxdWVzdCwgNDAz
IC8qZm9yYmlkZGVuKi8pOwohICNlbmRpZgogICAgICAgIHJldHVybiBTVFNfRkFJTFVSRTsKICAg
ICB9CiAgCi0tLSAyMTgsMjM4IC0tLS0KICAgICBkZWZhdWx0OgogICAgICAgIHVybD1tc2dfZ2V0
dXJpKHJlcXVlc3QpOwogICAgICAgIERFQlVHQyhEQkNMQVNTX1BST1hZLCJwcm94eV9yZXF1ZXN0
OiByZWZ1c2VkIHRvIHByb3h5Iik7CiEgICAgICAgV0FSTigicmVxdWVzdCBbJXNdIGZyb20vdG8g
dW5yZWdpc3RlcmVkIFVBIChSUTogJXNAJXMgLT4gJXNAJXMpIiwKISAJICAgICAgICByZXF1ZXN0
LT5zdHJ0bGluZS0+c2lwbWV0aG9kLAogIAkgICAgICAgIHJlcXVlc3QtPmZyb20tPnVybC0+dXNl
cm5hbWUsCiAgCQlyZXF1ZXN0LT5mcm9tLT51cmwtPmhvc3QsCiAgCSAgICAgICAgdXJsLT51c2Vy
bmFtZSwKICAJCXVybC0+aG9zdCk7CiEgCiEgLyoKISAgKiBpZiB3ZSBlbmQgdXAgaGVyZSwgd2Ug
ZGVhbCB3aXRoIGEgcmVxdWVzdCB0aGF0IHdlIGhhdmUKISAgKiBubyBwcm94eSBlbnRyeSAtIHNv
IGl0IG11c3QgYmUgbWVudCB0byBiZSBmb3IgdGhlIHByb3h5IGl0c2VsZi4KISAgKiBBcyB3ZSBv
bmx5IGRlYWwgd2l0aCBSRUdJU1RFUiByZXF1ZXN0cywgd2Ugd2lsbCBhbnNlciB0aGlzIG9uZQoh
ICAqIHdpdGggRk9SQklEREVOCiAgICovCiAgICAgICAgcHJveHlfZ2VuX3Jlc3BvbnNlKHJlcXVl
c3QsIDQwMyAvKmZvcmJpZGRlbiovKTsKISAKICAgICAgICByZXR1cm4gU1RTX0ZBSUxVUkU7CiAg
ICAgfQogIAoqKioqKioqKioqKioqKioKKioqIDM5Miw0MDEgKioqKgogICAgICAgIFdBUk4oInJl
c3BvbnNlIGZyb20vdG8gdW5yZWdpc3RlcmVkIFVBICglc0AlcykiLAogIAkgICAgICAgIHJlc3Bv
bnNlLT5mcm9tLT51cmwtPnVzZXJuYW1lLAogIAkJcmVzcG9uc2UtPmZyb20tPnVybC0+aG9zdCk7
Ci0gLyogc29tZSBjbGllbnRzIHNlZW0gdG8gcnVuIGFtb2sgd2hlbiBwYXNzaW5nIGJhY2sgYSBu
ZWdhdGl2ZSByZXNwb25zZSAqLwotICNpZiAwCi0gICAgICAgcHJveHlfZ2VuX3Jlc3BvbnNlKHJl
c3BvbnNlLCA0MDMgLypmb3JiaWRkZW4qLyk7Ci0gI2VuZGlmCiAgICAgICAgcmV0dXJuIFNUU19G
QUlMVVJFOwogICAgIH0KICAKLS0tIDQxMyw0MTggLS0tLQpJbmRleDogc2lwcm94ZC5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvQ1ZTUk9PVC9zaXByb3hkL3NyYy9zaXByb3hkLmMs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtYyAtcjEuMTIgc2lwcm94ZC5jCioqKiBz
aXByb3hkLmMJMjIgTWFyIDIwMDMgMTQ6MDA6MjUgLTAwMDAJMS4xMgotLS0gc2lwcm94ZC5jCTIz
IE1hciAyMDAzIDIzOjI2OjUyIC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMjE0LDIyMCAqKioq
CiAgCiAgICAgICAgREVCVUdDKERCQ0xBU1NfU0lQLCJyZWNlaXZlZCBTSVAgdHlwZSAlczolcyIs
CiAgCSAgICAgKE1TR19JU19SRVFVRVNUKG15X21zZykpPyAiUkVRIiA6ICJSRVMiLAohIAkgICAg
IG15X21zZy0+c3RydGxpbmUtPnNpcG1ldGhvZCk7CiAgCiAgICAgICAgLyogaWYgUlEgUkVHSVNU
RVIsIGp1c3QgcmVnaXN0ZXIgYW5kIHNlbmQgYW4gYW5zd2VyICovCiAgICAgICAgaWYgKE1TR19J
U19SRUdJU1RFUihteV9tc2cpICYmIE1TR19JU19SRVFVRVNUKG15X21zZykpIHsKLS0tIDIxNCwy
MjEgLS0tLQogIAogICAgICAgIERFQlVHQyhEQkNMQVNTX1NJUCwicmVjZWl2ZWQgU0lQIHR5cGUg
JXM6JXMiLAogIAkgICAgIChNU0dfSVNfUkVRVUVTVChteV9tc2cpKT8gIlJFUSIgOiAiUkVTIiwK
ISAJICAgICAobXlfbXNnLT5zdHJ0bGluZS0+c2lwbWV0aG9kKT8KISAgICAgICAgICAgICAgIG15
X21zZy0+c3RydGxpbmUtPnNpcG1ldGhvZCA6ICJOVUxMIikgOwogIAogICAgICAgIC8qIGlmIFJR
IFJFR0lTVEVSLCBqdXN0IHJlZ2lzdGVyIGFuZCBzZW5kIGFuIGFuc3dlciAqLwogICAgICAgIGlm
IChNU0dfSVNfUkVHSVNURVIobXlfbXNnKSAmJiBNU0dfSVNfUkVRVUVTVChteV9tc2cpKSB7Cklu
ZGV4OiBzaXByb3hkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9DVlNST09UL3Np
cHJveGQvc3JjL3NpcHJveGQuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC1jIC1y
MS4xMCBzaXByb3hkLmgKKioqIHNpcHJveGQuaAk5IE1hciAyMDAzIDIwOjQ5OjUwIC0wMDAwCTEu
MTAKLS0tIHNpcHJveGQuaAkyMyBNYXIgMjAwMyAyMzo0Njo0MSAtMDAwMAoqKioqKioqKioqKioq
KioKKioqIDQ0LDU1ICoqKioKICAKICAvKiB1dGlscy5jICovCiAgc2lwX3QgKiBtc2dfbWFrZV90
ZW1wbGF0ZV9yZXBseSAoc2lwX3QgKiByZXF1ZXN0LCBpbnQgY29kZSk7CiEgaW50IGNoZWNrX3Zp
YWxvb3AgKHNpcF90ICpteV9tc2cpOwkJCQkJLypYKi8KISBpbnQgaXNfdmlhX2xvY2FsICh2aWFf
dCAqdmlhKTsJCQkJCQkvKlgqLwohIGludCBnZXRfaXBfYnlfaG9zdChjaGFyICpob3N0bmFtZSwg
c3RydWN0IGluX2FkZHIgKmFkZHIpOwkJLypYKi8KISBpbnQgY29tcGFyZV91cmwodXJsX3QgKnVy
bDEsIHVybF90ICp1cmwyKTsJCQkJLypYKi8KICB2b2lkIHNlY3VyZV9lbnZpcm9tZW50ICh2b2lk
KTsKISBpbnQgZ2V0X2lwX2J5X2lmbmFtZShjaGFyICppZm5hbWUsIHN0cnVjdCBpbl9hZGRyICpy
ZXRhZGRyKTsJCS8qWCovCiAgCiAgLyogcmVhZGNvbmYuYyAqLwogIGludCByZWFkX2NvbmZpZyhj
aGFyICpuYW1lLCBpbnQgc2VhcmNoKTsJCQkJLypYKi8KLS0tIDQ0LDU2IC0tLS0KICAKICAvKiB1
dGlscy5jICovCiAgc2lwX3QgKiBtc2dfbWFrZV90ZW1wbGF0ZV9yZXBseSAoc2lwX3QgKiByZXF1
ZXN0LCBpbnQgY29kZSk7CiEgaW50ICBjaGVja192aWFsb29wIChzaXBfdCAqbXlfbXNnKTsJCQkJ
CS8qWCovCiEgaW50ICBpc192aWFfbG9jYWwgKHZpYV90ICp2aWEpOwkJCQkJCS8qWCovCiEgaW50
ICBnZXRfaXBfYnlfaG9zdChjaGFyICpob3N0bmFtZSwgc3RydWN0IGluX2FkZHIgKmFkZHIpOwkJ
LypYKi8KISBpbnQgIGNvbXBhcmVfdXJsKHVybF90ICp1cmwxLCB1cmxfdCAqdXJsMik7CQkJCS8q
WCovCiAgdm9pZCBzZWN1cmVfZW52aXJvbWVudCAodm9pZCk7CiEgaW50ICBnZXRfaXBfYnlfaWZu
YW1lKGNoYXIgKmlmbmFtZSwgc3RydWN0IGluX2FkZHIgKnJldGFkZHIpOwkJLypYKi8KISBpbnQg
IGlzX3NpcHVyaV9sb2NhbCAoc2lwX3QgKnNpcCk7CQkJCQkvKlgqLwogIAogIC8qIHJlYWRjb25m
LmMgKi8KICBpbnQgcmVhZF9jb25maWcoY2hhciAqbmFtZSwgaW50IHNlYXJjaCk7CQkJCS8qWCov
CkluZGV4OiB1dGlscy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvQ1ZTUk9PVC9z
aXByb3hkL3NyYy91dGlscy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE4CmRpZmYgLWMgLXIx
LjE4IHV0aWxzLmMKKioqIHV0aWxzLmMJMjIgTWFyIDIwMDMgMTQ6MDA6MjUgLTAwMDAJMS4xOAot
LS0gdXRpbHMuYwkyMyBNYXIgMjAwMyAyMzo1NDozMSAtMDAwMAoqKioqKioqKioqKioqKioKKioq
IDQyOCw0MzAgKioqKgotLS0gNDI4LDQ4NSAtLS0tCiAgICAgaWYgKHJldGFkZHIpIG1lbWNweShy
ZXRhZGRyLCAmc2luLT5zaW5fYWRkciwgc2l6ZW9mKHNpbi0+c2luX2FkZHIpKTsKICAgICByZXR1
cm4gU1RTX1NVQ0NFU1M7CiAgfQorIAorIAorIC8qCisgICogY2hlY2sgaWYgYSBnaXZlbiByZXF1
ZXN0IGlzIGFkZHJlc3NlZCB0byBsb2NhbC4gSS5lLiBpdCBpcyBhZGRyZXNzZWQKKyAgKiB0byB0
aGUgcG9yeHkgaXRzZWxmIChJUCBvZiBteSBpbmJvdW5kIG9yIG91dGJvdW5kIGludGVyZmFjZSwg
c2FtZSBwb3J0KQorICAqCisgICogUkVUVVJOUworICAqCVNUU19UUlVFIGlmIHRoZSByZXF1ZXN0
IGlzIGFkZHJlc3NlZCBsb2NhbAorICAqCVNUU19GQUxTRSBvdGhlcndpc2UKKyAgKi8KKyBpbnQg
aXNfc2lwdXJpX2xvY2FsIChzaXBfdCAqc2lwKSB7CisgICAgaW50IHN0cywgZm91bmQ7CisgICAg
c3RydWN0IGluX2FkZHIgYWRkcl91cmksIGFkZHJfbXlzZWxmOworICAgIGNoYXIgKm15X2ludGVy
ZmFjZXNbXT0KKyAgICAgICAgIHsgY29uZmlndXJhdGlvbi5pbmJvdW5kX2lmLCAgY29uZmlndXJh
dGlvbi5vdXRib3VuZF9pZiwgIChjaGFyKiktMSB9OworICAgIGludCBwb3J0OworICAgIGludCBp
OworICAgIGNoYXIgKnB0cjsKKyAKKyAgICBERUJVR0MoREJDTEFTU19ETlMsImNoZWNrIGZvciBs
b2NhbCBTSVAgVVJJICVzOiVzIiwKKyAgICAgICAgICAgc2lwLT5zdHJ0bGluZS0+cnF1cmktPmhv
c3QsIHNpcC0+c3RydGxpbmUtPnJxdXJpLT5wb3J0KTsKKyAgICBpZiAoaW5ldF9hdG9uKHNpcC0+
c3RydGxpbmUtPnJxdXJpLT5ob3N0LCZhZGRyX3VyaSkgPT0gMCkgeworICAgICAgIC8qIG5lZWQg
bmFtZSByZXNvbHV0aW9uICovCisgICAgICAgZ2V0X2lwX2J5X2hvc3Qoc2lwLT5zdHJ0bGluZS0+
cnF1cmktPmhvc3QsICZhZGRyX3VyaSk7CisgICAgfSAgIAorIAorICAgIGZvdW5kPTA7CisgICAg
Zm9yIChpPTA7IDsgaSsrKSB7CisgICAgICAgLyoKKyAgICAgICAgKiB0cnkgdG8gc2VhcmNoIGJ5
IGludGVyZmFjZSBuYW1lIGZpcnN0CisgICAgICAgICovCisgICAgICAgcHRyPW15X2ludGVyZmFj
ZXNbaV07CisgICAgICAgaWYgKHB0cj09KGNoYXIqKS0xKSBicmVhazsgLyogZW5kIG9mIGxpc3Qg
bWFyayAqLworIAorICAgICAgIGlmIChwdHIpIHsKKyAgICAgICAgICBERUJVR0MoREJDTEFTU19C
QUJCTEUsInJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgJXMiLHB0cik7CisgICAgICAgICAgc3Rz
ID0gZ2V0X2lwX2J5X2lmbmFtZShwdHIsICZhZGRyX215c2VsZik7CisgICAgICAgfQorIAorICAg
ICAgIC8qIGNoZWNrIHRoZSBleHRyYWN0ZWQgSE9TVCBhZ2FpbnN0IG15IG93biBob3N0IGFkZHJl
c3NlcyAqLworICAgICAgIGlmIChzaXAtPnN0cnRsaW5lLT5ycXVyaS0+cG9ydCkgcG9ydD1hdG9p
KHNpcC0+c3RydGxpbmUtPnJxdXJpLT5wb3J0KTsKKyAgICAgICBlbHNlIHBvcnQ9U0lQX1BPUlQ7
CisgCisgICAgICAgaWYgKCAobWVtY21wKCZhZGRyX215c2VsZiwgJmFkZHJfdXJpLCBzaXplb2Yo
YWRkcl9teXNlbGYpKT09MCkgJiYKKyAgICAgICAgICAgIChwb3J0ID09IGNvbmZpZ3VyYXRpb24u
c2lwX2xpc3Rlbl9wb3J0KSApIHsKKyAgICAgICAgICBERUJVRygiYWRkcmVzcyBtYXRjaCBbJXNd
IDwtPiBbJXNdIiwgaW5ldF9udG9hKGFkZHJfbXlzZWxmKSwKKyAgICAgICAgICAgICAgICBpbmV0
X250b2EoYWRkcl91cmkpKTsKKyAgICAgICAgICBmb3VuZD0xOworIAkgYnJlYWs7CisgICAgICAg
fQorICAgIH0KKyAKKyAgICBERUJVR0MoREJDTEFTU19ETlMsICJTSVAgVVJJIGlzICVzbG9jYWwi
LCBmb3VuZD8gIiI6Im5vdCAiKTsKKyAgICByZXR1cm4gKGZvdW5kKT8gU1RTX1RSVUUgOiBTVFNf
RkFMU0U7CisgfQo=
</data>
    </attachment><category>General</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-03-23 16:15</date>
      <description>Date: 2003-03-23 16:15
Sender: tries
Logged In: YES 
user_id=438614

Find a patch attached. Siproxd should now generate a 403
Forbidded error if a non supported request is directly send to
the PROXY</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2003-03-23 14:47</date>
      <description>Date: 2003-03-23 14:47
Sender: tries
Logged In: YES 
user_id=438614

What I can see is, that siproxd complains about an VIA loop. The
reason is, that siproxd *itself creates* a endless loop, as it
does not know about the SUBSCRIBE method and simply tries to
proxy if to its final destination whitch is itself - bzzz.
Siproxd should send deal with requests that are directly
addresses to it. This is a bug. I will look into this.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-03-23 16:16</date_closed>
    <date_last_updated>2003-03-23 16:16</date_last_updated>
    <date_submitted>2003-03-19 14:12</date_submitted>
    <description>I can registor OK with Windows Messenger,but
other contacts show status &amp;quot;offline&amp;quot;.
Siproxyd is version 0.2.8,libosip version 0.8.8.
See enclosed portion of siproxyd log file
and configuration used.
==========siproxyd log file =================
---end of BUFFER DUMP---
10:03:37 siproxd.c:183 going into sip_wait

10:03:37 siproxd.c:190 back from sip_wait
10:03:37 sock.c:104 received UDP packet from
204.57.142.3, count=407
---BUFFER DUMP follows---
53 55 42 53 43 52 49 42 45 20 73 69 70 3a 74 69
SUBSCRIBE sip:ti
6d 40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65
m@ccisafe.cci.ne
74 20 53 49 50 2f 32 2e 30 0d 0a 56 69 61 3a 20 t
SIP/2.0..Via:
53 49 50 2f 32 2e 30 2f 55 44 50 20 32 30 34 2e
SIP/2.0/UDP 204.
35 37 2e 31 34 32 2e 33 3a 35 30 36 30 0d 0a 56
57.142.3:5060..V
69 61 3a 20 53 49 50 2f 32 2e 30 2f 55 44 50 20 ia:
SIP/2.0/UDP
31 30 2e 31 30 2e 31 30 2e 31 31 35 3a 31 34 31
10.10.10.115:141
38 35 0d 0a 46 72 6f 6d 3a 20 22 62 6f 62 22 20
85..From: &amp;quot;bob&amp;quot;
3c 73 69 70 3a 62 6f 62 40 63 63 69 73 61 66 65
&amp;lt;sip:bob@ccisafe
2e 63 63 69 2e 6e 65 74 3e 3b 74 61 67 3d 63
61 .cci.net&amp;gt;;tag=ca
65 34 39 39 64 31 2d 63 66 37 37 2d 34 64 62 65
e499d1-cf77-4dbe
2d 62 35 31 38 2d 62 65 32 32 38 62 63 38 36 30 -
b518-be228bc860
36 36 0d 0a 54 6f 3a 20 3c 73 69 70 3a 74 69 6d
66..To: &amp;lt;sip:tim
40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65 74
@ccisafe.cci.net
3e 0d 0a 43 61 6c 6c 2d 49 44 3a 20 35 38 63 63
&amp;gt;..Call-ID: 58cc
62 31 64 64 2d 33 38 61 63 2d 34 66 65 38 2d 62 b1dd-
38ac-4fe8-b
63 61 66 2d 35 31 65 35 37 36 36 63 38 38 61 37 caf-
51e5766c88a7
40 31 30 2e 31 30 2e 31 30 2e 31 31 35 0d 0a 43
@10.10.10.115..C
53 65 71 3a 20 31 20 53 55 42 53 43 52 49 42 45 Seq:
1 SUBSCRIBE
0d 0a 43 6f 6e 74 61 63 74 3a 20 3c 73 69 70
3a ..Contact: &amp;lt;sip:
62 6f 62 40 63 63 69 73 61 66 65 2e 63 63 69 2e
bob@ccisafe.cci.
6e 65 74 3e 0d 0a 75 73 65 72 2d 61 67 65 6e 74
net&amp;gt;..user-agent
3a 20 57 69 6e 64 6f 77 73 20 52 54 43 2f 31 2e :
Windows RTC/1.
30 0d 0a 65 78 70 69 72 65 73 3a 20 31 38 30 30
0..expires: 1800
0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74
68 ..Content-Length
3a 20 30 0d 0a 0d 0a : 0....

---end of BUFFER DUMP---
10:03:37 accessctl.c:54 deny list (SIP):(null)
10:03:37 accessctl.c:55 allow list (SIP):(null)
10:03:37 accessctl.c:56 allow list (REG):(null)
10:03:37 siproxd.c:217 received SIP type
REQ:SUBSCRIBE
10:03:37 proxy.c:71 proxy_request
10:03:37 utils.c:145 via name 10.10.10.115
10:03:37 utils.c:160 resolving IP of interface eth1
10:03:37 utils.c:423 get_ip_by_ifname: interface eth1
has IP: 10.10.10.10
10:03:37 utils.c:160 resolving IP of interface eth0
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 utils.c:321 comparing urls:
tim@ccisafe.cci.net -&amp;gt; bob@ccisafe.cci.net
10:03:37 utils.c:321 comparing urls:
bob@ccisafe.cci.net -&amp;gt; bob@ccisafe.cci.net
10:03:37 proxy.c:99 outgoing request from
bob@ccisafe.cci.net from inbound
10:03:37 WARNING:utils.c:307 compare_url: NULL
username pointer: MSN messenger i
s known to trigger this one! [url1-
&amp;gt;username=0x0x80bd408, url2-&amp;gt;username=0x(nil)
]
10:03:37 utils.c:309 comparing broken urls (no user):
ccisafe.cci.net -&amp;gt; 10.10.1
0.115
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 proxy.c:519 adding VIA:SIP/2.0/UDP
204.57.142.3:5060
10:03:37 utils.c:235 DNS lookup - from cache:
ccisafe.cci.net -&amp;gt; 204.57.142.3
10:03:37 sock.c:140 send UDP packet to 204.57.142.3:
5060
---BUFFER DUMP follows---
53 55 42 53 43 52 49 42 45 20 73 69 70 3a 74 69
SUBSCRIBE sip:ti
6d 40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65
m@ccisafe.cci.ne
74 20 53 49 50 2f 32 2e 30 0d 0a 56 69 61 3a 20 t
SIP/2.0..Via:
53 49 50 2f 32 2e 30 2f 55 44 50 20 32 30 34 2e
SIP/2.0/UDP 204.
35 37 2e 31 34 32 2e 33 3a 35 30 36 30 0d 0a 56
57.142.3:5060..V
69 61 3a 20 53 49 50 2f 32 2e 30 2f 55 44 50 20 ia:
SIP/2.0/UDP
32 30 34 2e 35 37 2e 31 34 32 2e 33 3a 35 30 36
204.57.142.3:506
30 0d 0a 56 69 61 3a 20 53 49 50 2f 32 2e 30 2f
0..Via: SIP/2.0/
55 44 50 20 31 30 2e 31 30 2e 31 30 2e 31 31 35 UDP
10.10.10.115
3a 31 34 31 38 35 0d 0a 46 72 6f 6d 3a 20 22
62 :14185..From: &amp;quot;b
6f 62 22 20 3c 73 69 70 3a 62 6f 62 40 63 63 69 ob&amp;quot;
&amp;lt;sip:bob@cci
73 61 66 65 2e 63 63 69 2e 6e 65 74 3e 3b 74 61
safe.cci.net&amp;gt;;ta
67 3d 63 61 65 34 39 39 64 31 2d 63 66 37 37 2d
g=cae499d1-cf77-
34 64 62 65 2d 62 35 31 38 2d 62 65 32 32 38 62 4dbe-
b518-be228b
63 38 36 30 36 36 0d 0a 54 6f 3a 20 3c 73 69 70
c86066..To: &amp;lt;sip
3a 74 69 6d 40 63 63 69 73 61 66 65 2e 63 63
69 :tim@ccisafe.cci
2e 6e 65 74 3e 0d 0a 43 61 6c 6c 2d 49 44 3a
20 .net&amp;gt;..Call-ID:
35 38 63 63 62 31 64 64 2d 33 38 61 63 2d 34 66
58ccb1dd-38ac-4f
65 38 2d 62 63 61 66 2d 35 31 65 35 37 36 36 63 e8-
bcaf-51e5766c
38 38 61 37 40 31 30 2e 31 30 2e 31 30 2e 31 31
88a7@10.10.10.11
35 0d 0a 43 53 65 71 3a 20 31 20 53 55 42 53 43
5..CSeq: 1 SUBSC
52 49 42 45 0d 0a 43 6f 6e 74 61 63 74 3a 20 3c
RIBE..Contact: &amp;lt;
73 69 70 3a 62 6f 62 40 63 63 69 73 61 66 65 2e
sip:bob@ccisafe.
63 63 69 2e 6e 65 74 3e 0d 0a 75 73 65 72 2d 61
cci.net&amp;gt;..user-a
67 65 6e 74 3a 20 57 69 6e 64 6f 77 73 20 52 54 gent:
Windows RT
43 2f 31 2e 30 0d 0a 65 78 70 69 72 65 73 3a 20
C/1.0..expires:
31 38 30 30 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65
1800..Content-Le
6e 67 74 68 3a 20 30 0d 0a 0d 0a ngth: 0....

---end of BUFFER DUMP---
10:03:37 siproxd.c:183 going into sip_wait

10:03:37 siproxd.c:190 back from sip_wait
10:03:37 sock.c:104 received UDP packet from
204.57.142.3, count=407
---BUFFER DUMP follows---
53 55 42 53 43 52 49 42 45 20 73 69 70 3a 74 6f
SUBSCRIBE sip:to
6d 40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65
m@ccisafe.cci.ne
74 20 53 49 50 2f 32 2e 30 0d 0a 56 69 61 3a 20 t
SIP/2.0..Via:
53 49 50 2f 32 2e 30 2f 55 44 50 20 32 30 34 2e
SIP/2.0/UDP 204.
35 37 2e 31 34 32 2e 33 3a 35 30 36 30 0d 0a 56
57.142.3:5060..V
69 61 3a 20 53 49 50 2f 32 2e 30 2f 55 44 50 20 ia:
SIP/2.0/UDP
31 30 2e 31 30 2e 31 30 2e 31 31 35 3a 31 34 31
10.10.10.115:141
38 35 0d 0a 46 72 6f 6d 3a 20 22 62 6f 62 22 20
85..From: &amp;quot;bob&amp;quot;
3c 73 69 70 3a 62 6f 62 40 63 63 69 73 61 66 65
&amp;lt;sip:bob@ccisafe
2e 63 63 69 2e 6e 65 74 3e 3b 74 61 67 3d 36
62 .cci.net&amp;gt;;tag=6b
37 62 32 64 66 30 2d 30 30 30 61 2d 34 39 35 37
7b2df0-000a-4957
2d 39 65 65 36 2d 62 61 61 62 63 34 36 66 33 65 -9ee6-
baabc46f3e
37 37 0d 0a 54 6f 3a 20 3c 73 69 70 3a 74 6f 6d 77..To:
&amp;lt;sip:tom
40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65 74
@ccisafe.cci.net
3e 0d 0a 43 61 6c 6c 2d 49 44 3a 20 36 33 37 66
&amp;gt;..Call-ID: 637f
38 35 37 31 2d 31 36 39 61 2d 34 65 39 37 2d 62 8571-
169a-4e97-b
37 34 36 2d 61 34 37 37 39 35 65 39 34 61 61 30 746-
a47795e94aa0
40 31 30 2e 31 30 2e 31 30 2e 31 31 35 0d 0a 43
@10.10.10.115..C
53 65 71 3a 20 31 20 53 55 42 53 43 52 49 42 45 Seq:
1 SUBSCRIBE
0d 0a 43 6f 6e 74 61 63 74 3a 20 3c 73 69 70
3a ..Contact: &amp;lt;sip:
62 6f 62 40 63 63 69 73 61 66 65 2e 63 63 69 2e
bob@ccisafe.cci.
6e 65 74 3e 0d 0a 75 73 65 72 2d 61 67 65 6e 74
net&amp;gt;..user-agent
3a 20 57 69 6e 64 6f 77 73 20 52 54 43 2f 31 2e :
Windows RTC/1.
30 0d 0a 65 78 70 69 72 65 73 3a 20 31 38 30 30
0..expires: 1800
0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74
68 ..Content-Length
3a 20 30 0d 0a 0d 0a : 0....


---end of BUFFER DUMP---
10:03:37 accessctl.c:54 deny list (SIP):(null)
10:03:37 accessctl.c:55 allow list (SIP):(null)
10:03:37 accessctl.c:56 allow list (REG):(null)
10:03:37 siproxd.c:217 received SIP type
REQ:SUBSCRIBE
10:03:37 proxy.c:71 proxy_request
10:03:37 utils.c:145 via name 10.10.10.115
10:03:37 utils.c:160 resolving IP of interface eth1
10:03:37 utils.c:423 get_ip_by_ifname: interface eth1
has IP: 10.10.10.10
10:03:37 utils.c:160 resolving IP of interface eth0
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 utils.c:321 comparing urls:
tom@ccisafe.cci.net -&amp;gt; bob@ccisafe.cci.net
10:03:37 utils.c:321 comparing urls:
bob@ccisafe.cci.net -&amp;gt; bob@ccisafe.cci.net
10:03:37 proxy.c:99 outgoing request from
bob@ccisafe.cci.net from inbound
10:03:37 WARNING:utils.c:307 compare_url: NULL
username pointer: MSN messenger i
s known to trigger this one! [url1-
&amp;gt;username=0x0x80bd4e8, url2-&amp;gt;username=0x(nil)
]
10:03:37 utils.c:309 comparing broken urls (no user):
ccisafe.cci.net -&amp;gt; 10.10.1
0.115
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 proxy.c:519 adding VIA:SIP/2.0/UDP
204.57.142.3:5060
10:03:37 utils.c:235 DNS lookup - from cache:
ccisafe.cci.net -&amp;gt; 204.57.142.3
10:03:37 sock.c:140 send UDP packet to 204.57.142.3:
5060
---BUFFER DUMP follows---
53 55 42 53 43 52 49 42 45 20 73 69 70 3a 74 6f
SUBSCRIBE sip:to
6d 40 63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65
m@ccisafe.cci.ne
74 20 53 49 50 2f 32 2e 30 0d 0a 56 69 61 3a 20 t
SIP/2.0..Via:
53 49 50 2f 32 2e 30 2f 55 44 50 20 32 30 34 2e
SIP/2.0/UDP 204.
35 37 2e 31 34 32 2e 33 3a 35 30 36 30 0d 0a 56
57.142.3:5060..V
69 61 3a 20 53 49 50 2f 32 2e 30 2f 55 44 50 20 ia:
SIP/2.0/UDP
32 30 34 2e 35 37 2e 31 34 32 2e 33 3a 35 30 36
204.57.142.3:506
30 0d 0a 56 69 61 3a 20 53 49 50 2f 32 2e 30 2f
0..Via: SIP/2.0/
55 44 50 20 31 30 2e 31 30 2e 31 30 2e 31 31 35 UDP
10.10.10.115
3a 31 34 31 38 35 0d 0a 46 72 6f 6d 3a 20 22
62 :14185..From: &amp;quot;b
6f 62 22 20 3c 73 69 70 3a 62 6f 62 40 63 63 69 ob&amp;quot;
&amp;lt;sip:bob@cci
73 61 66 65 2e 63 63 69 2e 6e 65 74 3e 3b 74 61
safe.cci.net&amp;gt;;ta
67 3d 36 62 37 62 32 64 66 30 2d 30 30 30 61 2d
g=6b7b2df0-000a-
34 39 35 37 2d 39 65 65 36 2d 62 61 61 62 63 34 4957-
9ee6-baabc4
36 66 33 65 37 37 0d 0a 54 6f 3a 20 3c 73 69 70
6f3e77..To: &amp;lt;sip
3a 74 6f 6d 40 63 63 69 73 61 66 65 2e 63 63
69 :tom@ccisafe.cci
2e 6e 65 74 3e 0d 0a 43 61 6c 6c 2d 49 44 3a
20 .net&amp;gt;..Call-ID:
36 33 37 66 38 35 37 31 2d 31 36 39 61 2d 34 65
637f8571-169a-4e
39 37 2d 62 37 34 36 2d 61 34 37 37 39 35 65 39 97-
b746-a47795e9
34 61 61 30 40 31 30 2e 31 30 2e 31 30 2e 31 31
4aa0@10.10.10.11
35 0d 0a 43 53 65 71 3a 20 31 20 53 55 42 53 43
5..CSeq: 1 SUBSC
52 49 42 45 0d 0a 43 6f 6e 74 61 63 74 3a 20 3c
RIBE..Contact: &amp;lt;
73 69 70 3a 62 6f 62 40 63 63 69 73 61 66 65 2e
sip:bob@ccisafe.
63 63 69 2e 6e 65 74 3e 0d 0a 75 73 65 72 2d 61
cci.net&amp;gt;..user-a
67 65 6e 74 3a 20 57 69 6e 64 6f 77 73 20 52 54 gent:
Windows RT
43 2f 31 2e 30 0d 0a 65 78 70 69 72 65 73 3a 20
C/1.0..expires:
31 38 30 30 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65
1800..Content-Le
6e 67 74 68 3a 20 30 0d 0a 0d 0a ngth: 0....

---end of BUFFER DUMP---
10:03:37 siproxd.c:183 going into sip_wait

10:03:37 siproxd.c:190 back from sip_wait
10:03:37 sock.c:104 received UDP packet from
204.57.142.3, count=449
---BUFFER DUMP follows---
53 55 42 53 43 52 49 42 45 20 73 69 70 3a 77 61
SUBSCRIBE sip:wa
6c 74 65 72 40 63 63 69 73 61 66 65 2e 63 63 69
lter@ccisafe.cci
2e 6e 65 74 20 53 49 50 2f 32 2e 30 0d 0a 56 69 .net
SIP/2.0..Vi
61 3a 20 53 49 50 2f 32 2e 30 2f 55 44 50 20 32 a:
SIP/2.0/UDP 2
30 34 2e 35 37 2e 31 34 32 2e 33 3a 35 30 36 30
04.57.142.3:5060
0d 0a 56 69 61 3a 20 53 49 50 2f 32 2e 30 2f 55 ..Via:
SIP/2.0/U
44 50 20 32 30 34 2e 35 37 2e 31 34 32 2e 33 3a DP
204.57.142.3:
35 30 36 30 0d 0a 56 69 61 3a 20 53 49 50 2f 32
5060..Via: SIP/2
2e 30 2f 55 44 50 20 31 30 2e 31 30 2e 31 30
2e .0/UDP 10.10.10.
31 31 35 3a 31 34 31 38 35 0d 0a 46 72 6f 6d 3a
115:14185..From:
20 22 62 6f 62 22 20 3c 73 69 70 3a 62 6f 62 40 &amp;quot;bob&amp;quot;
&amp;lt;sip:bob@
63 63 69 73 61 66 65 2e 63 63 69 2e 6e 65 74 3e
ccisafe.cci.net&amp;gt;
3b 74 61 67 3d 33 64 37 39 63 65 37 36 2d 66
31 ;tag=3d79ce76-f1
63 64 2d 34 31 35 36 2d 39 36 38 36 2d 34 62 35 cd-
4156-9686-4b5
30 38 61 35 64 63 66 37 32 0d 0a 54 6f 3a 20 3c
08a5dcf72..To: &amp;lt;
73 69 70 3a 77 61 6c 74 65 72 40 63 63 69 73 61
sip:walter@ccisa
66 65 2e 63 63 69 2e 6e 65 74 3e 0d 0a 43 61 6c
fe.cci.net&amp;gt;..Cal
6c 2d 49 44 3a 20 61 62 32 64 39 66 32 32 2d 32 l-ID:
ab2d9f22-2
33 30 62 2d 34 65 61 66 2d 61 34 66 64 2d 66 62 30b-
4eaf-a4fd-fb
61 30 66 39 63 31 66 38 65 39 40 31 30 2e 31 30
a0f9c1f8e9@10.10
2e 31 30 2e 31 31 35 0d 0a 43 53 65 71 3a 20
31 .10.115..CSeq: 1
20 53 55 42 53 43 52 49 42 45 0d 0a 43 6f 6e 74
SUBSCRIBE..Cont
61 63 74 3a 20 3c 73 69 70 3a 62 6f 62 40 63 63 act:
&amp;lt;sip:bob@cc
69 73 61 66 65 2e 63 63 69 2e 6e 65 74 3e 0d 0a
isafe.cci.net&amp;gt;..
75 73 65 72 2d 61 67 65 6e 74 3a 20 57 69 6e 64 user-
agent: Wind
6f 77 73 20 52 54 43 2f 31 2e 30 0d 0a 65 78 70 ows
RTC/1.0..exp
69 72 65 73 3a 20 31 38 30 30 0d 0a 43 6f 6e 74 ires:
1800..Cont
65 6e 74 2d 4c 65 6e 67 74 68 3a 20 30 0d 0a 0d ent-
Length: 0...
0a .

---end of BUFFER DUMP---
10:03:37 accessctl.c:54 deny list (SIP):(null)
10:03:37 accessctl.c:55 allow list (SIP):(null)
10:03:37 accessctl.c:56 allow list (REG):(null)
10:03:37 siproxd.c:217 received SIP type
REQ:SUBSCRIBE
10:03:37 proxy.c:71 proxy_request
10:03:37 utils.c:145 via name 204.57.142.3
10:03:37 utils.c:160 resolving IP of interface eth1
10:03:37 utils.c:423 get_ip_by_ifname: interface eth1
has IP: 10.10.10.10
10:03:37 utils.c:160 resolving IP of interface eth0
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 utils.c:171 address match [204.57.142.3] &amp;lt;-&amp;gt;
[204.57.142.3]
10:03:37 utils.c:145 via name 10.10.10.115
10:03:37 utils.c:160 resolving IP of interface eth1
10:03:37 utils.c:423 get_ip_by_ifname: interface eth1
has IP: 10.10.10.10
10:03:37 utils.c:160 resolving IP of interface eth0
10:03:37 utils.c:423 get_ip_by_ifname: interface eth0
has IP: 204.57.142.3
10:03:37 proxy.c:76 via loop detected, ignoring request
10:03:37 siproxd.c:183 going into sip_wait





#
# /etc/siproxd.conf - siproxd configuration file
#
# !! This is a sample file, adapt it to your needs before
using it
#
# !! Strings MUST NOT contain spaces in between !!
#

##############################################
########################
# The IP addresses of the INBOUND and OUTBOUND
interface can
# be specified as hostnames or in dotted decimal form:
#
# host_inbound=foo.bar.org
#
# or as dotted decimal IP:
#
# this is the old style - specifying IP addresses:
#host_inbound = 10.0.0.1
#host_outbound = my.external-ip.address
#
# the new way, simply give the interface name:
if_inbound = eth1
if_outbound = eth0


##############################################
########################
# Port to listen for incoming SIP messages.
# Access lists in the form: IP/mask (ex. 10.0.0.1/24)
# multiple entries may be separated by commas NO
SPACES ARE ALLOWED!!
# Empty list means 'does not apply' - no filtering is
done then.
# For *allow* lists this means: always allow, for
*deny* lists that
# this means never deny.
#
# hosts_allow_reg: defines nets where we accept
registrations from
# hosts_allow_sip: defines nets where we accept SIP
traffic from
# hosts_deny_sip: defines nets where we deny SIP
traffic from
#
# - The deny list takes precedence over the allow lists.
# - The allow_reg list imples also allowance for sip.
#
# Example for usage:
# local private net -&amp;gt; allow_reg list
# external nets (where we accept incoming calls
from) -&amp;gt; allow_sip
#
#hosts_allow_reg = 192.168.1.8/24
#hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16
#hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8
#hosts_allow_reg = 10.10.10.10/24
#hosts_allow_sip = 10.10.10.10/24

##############################################
########################
# Access control.
# 5060 is usually the correct choise - don't change is
unless you
# know what you're doing
#
sip_listen_port = 5060


##############################################
########################
# Shall we daemonize?
#
daemonize = 0

##############################################
########################
# Secure Enviroment settings:
# user: uid/gid to switch to after startup
# chrootjail: path to chroot to (chroot jail)
user = nobody
#chrootjail = /var/lib/siproxd/

##############################################
########################

##############################################
########################
# global switch to enable (1) or disable (0) the RTP
proxy feature
#
rtp_proxy_enable = 1

##############################################
########################
# Port range where to allocate listen ports for incoming
RTP traffic
# this should be a range that is not blocked by the
firewall
#
rtp_port_low = 7070
rtp_port_high = 7080

##############################################
########################
# Timeout for RTP streams
# after this number of seconds, an RTP stream is
considered dead
# and proxying it will be stopped.
#
rtp_timeout = 60

##############################################
########################
# Proxy authentication
# If proxy_auth_realm is defined (a string), clients will
be forced
# to authenticate themselfes at the proxy (for
registration only).
# To disable Authentication, simply comment out this
line.
#
#proxy_auth_realm = Authentication_Realm
#
# the password to use (right now, only one global
password for
# registration is supported -&amp;gt; same for all local clients)
#
#proxy_auth_passwd = password
#
# or use individual per user passwords stored ia file
#
#proxy_auth_pwfile = doc/siproxd_passwd.cfg
#
# 'proxy_auth_pwfile' has precedence
over 'proxy_auth_passwd'

##############################################
########################
# Debug level... (setting to -1 will enable everything)
#
# DBCLASS_BABBLE 0x00000001 // babble (like
entering/leaving func)
# DBCLASS_NET 0x00000002 // network
# DBCLASS_SIP 0x00000004 // SIP
manipulations
# DBCLASS_REG 0x00000008 // Client
registration
# DBCLASS_NOSPEC 0x00000010 // non
specified class
# DBCLASS_PROXY 0x00000020 // proxy
# DBCLASS_DNS 0x00000040 // DNS stuff
# DBCLASS_NETTRAF 0x00000080 // network
traffic
# DBCLASS_CONFIG 0x00000100 // configuration
# DBCLASS_RTP 0x00000200 // RTP proxy
# DBCLASS_ACCESS 0x00000400 // Access list
evaluation
# DBCLASS_AUTH 0x00000800 // Authentication
#
debug_level = 0x00000000
Add a Comment:</description>
    <group>None</group>
    <item_id>706566</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Bob Meader - bob98072</submitted_by>
    <summary>Problems with Windows Messenger</summary>
    <title>Problems with Windows Messenger</title>
  </item>
<item id="709603">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="45932">
      <content_disposition>attachment; filename=debug.log</content_disposition>
      <content_type>application/octet-stream</content_type>
      <description>
        </description>
      <etag>"jpd-1548489678.56575"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=45932&amp;aid=709603</link>
      <title>debug.log</title>
      <data encoding="base64">
MTY6MzM6MzIgcmVhZGNvbmYuYzo2OSB0cnlpbmcgdG8gcmVhZCBjb25maWcgZmlsZQ0KMTY6MzM6
MzIgcmVhZGNvbmYuYzo4MyAuLi4gdHJ5aW5nIC9yb290Ly5zaXByb3hkcmMNCjE2OjMzOjMyIHJl
YWRjb25mLmM6ODMgLi4uIHRyeWluZyAvZXRjL3NpcHJveGQuY29uZg0KMTY6MzM6MzIgcmVhZGNv
bmYuYzo4MyAuLi4gdHJ5aW5nIC91c3IvZXRjL3NpcHJveGQuY29uZg0KMTY6MzM6MzIgcmVhZGNv
bmYuYzoxNjggcGM6ImlmX2luYm91bmQgID0gZXRoMSINCjE2OjMzOjMyIHJlYWRjb25mLmM6MTc1
IGdvdCBrZXl3b3JkOiJpZl9pbmJvdW5kIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxODUgZ290IGFy
Z3VtZW50OiJldGgxIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoyMTMgU1RSSU5HPWV0aDENCjE2OjMz
OjMyIHJlYWRjb25mLmM6MTY4IHBjOiJpZl9vdXRib3VuZCA9IGV0aDAiDQoxNjozMzozMiByZWFk
Y29uZi5jOjE3NSBnb3Qga2V5d29yZDoiaWZfb3V0Ym91bmQiDQoxNjozMzozMiByZWFkY29uZi5j
OjE4NSBnb3QgYXJndW1lbnQ6ImV0aDAiDQoxNjozMzozMiByZWFkY29uZi5jOjIxMyBTVFJJTkc9
ZXRoMA0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxNjggcGM6InNpcF9saXN0ZW5fcG9ydCA9IDUwNjAi
DQoxNjozMzozMiByZWFkY29uZi5jOjE3NSBnb3Qga2V5d29yZDoic2lwX2xpc3Rlbl9wb3J0Ig0K
MTY6MzM6MzIgcmVhZGNvbmYuYzoxODUgZ290IGFyZ3VtZW50OiI1MDYwIg0KMTY6MzM6MzIgcmVh
ZGNvbmYuYzoxOTUgSU5UND01MDYwDQoxNjozMzozMiByZWFkY29uZi5jOjE2OCBwYzoiZGFlbW9u
aXplID0gMCINCjE2OjMzOjMyIHJlYWRjb25mLmM6MTc1IGdvdCBrZXl3b3JkOiJkYWVtb25pemUi
DQoxNjozMzozMiByZWFkY29uZi5jOjE4NSBnb3QgYXJndW1lbnQ6IjAiDQoxNjozMzozMiByZWFk
Y29uZi5jOjE5NSBJTlQ0PTANCjE2OjMzOjMyIHJlYWRjb25mLmM6MTY4IHBjOiJ1c2VyID0gbm9i
b2R5Ig0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxNzUgZ290IGtleXdvcmQ6InVzZXIiDQoxNjozMzoz
MiByZWFkY29uZi5jOjE4NSBnb3QgYXJndW1lbnQ6Im5vYm9keSINCjE2OjMzOjMyIHJlYWRjb25m
LmM6MjEzIFNUUklORz1ub2JvZHkNCjE2OjMzOjMyIHJlYWRjb25mLmM6MTY4IHBjOiJydHBfcHJv
eHlfZW5hYmxlID0gMSINCjE2OjMzOjMyIHJlYWRjb25mLmM6MTc1IGdvdCBrZXl3b3JkOiJydHBf
cHJveHlfZW5hYmxlIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxODUgZ290IGFyZ3VtZW50OiIxIg0K
MTY6MzM6MzIgcmVhZGNvbmYuYzoxOTUgSU5UND0xDQoxNjozMzozMiByZWFkY29uZi5jOjE2OCBw
YzoicnRwX3BvcnRfbG93ICA9IDcwNzAiDQoxNjozMzozMiByZWFkY29uZi5jOjE3NSBnb3Qga2V5
d29yZDoicnRwX3BvcnRfbG93Ig0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxODUgZ290IGFyZ3VtZW50
OiI3MDcwIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxOTUgSU5UND03MDcwDQoxNjozMzozMiByZWFk
Y29uZi5jOjE2OCBwYzoicnRwX3BvcnRfaGlnaCA9IDcwODAiDQoxNjozMzozMiByZWFkY29uZi5j
OjE3NSBnb3Qga2V5d29yZDoicnRwX3BvcnRfaGlnaCINCjE2OjMzOjMyIHJlYWRjb25mLmM6MTg1
IGdvdCBhcmd1bWVudDoiNzA4MCINCjE2OjMzOjMyIHJlYWRjb25mLmM6MTk1IElOVDQ9NzA4MA0K
MTY6MzM6MzIgcmVhZGNvbmYuYzoxNjggcGM6InJ0cF90aW1lb3V0ID0gNjAiDQoxNjozMzozMiBy
ZWFkY29uZi5jOjE3NSBnb3Qga2V5d29yZDoicnRwX3RpbWVvdXQiDQoxNjozMzozMiByZWFkY29u
Zi5jOjE4NSBnb3QgYXJndW1lbnQ6IjYwIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxOTUgSU5UND02
MA0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxNjggcGM6ImRlYnVnX2xldmVsID0gICAgICAweDAwMDAw
MDAwIg0KMTY6MzM6MzIgcmVhZGNvbmYuYzoxNzUgZ290IGtleXdvcmQ6ImRlYnVnX2xldmVsIg0K
MTY6MzM6MzIgcmVhZGNvbmYuYzoxODUgZ290IGFyZ3VtZW50OiIweDAwMDAwMDAwIg0KMTY6MzM6
MzIgcmVhZGNvbmYuYzoxOTUgSU5UND0wDQoxNjozMzozMiB1dGlscy5jOjM0NyBydW5uaW5nIHcv
dWlkPTAsIGV1aWQ9MCwgZ2lkPTAsIGVnaWQ9MA0KMTY6MzM6MzIgdXRpbHMuYzozNzQgY2hhbmdp
bmcgdWlkL2dpZCB0byBub2JvZHkNCjE2OjMzOjMyIHV0aWxzLmM6Mzc3IGNoYW5nZWQgZ2lkIHRv
IDk5IC0gT2sNCjE2OjMzOjMyIHV0aWxzLmM6MzgxIGNoYW5nZWQgZWdpZCB0byA5OSAtIE9rDQox
NjozMzozMiB1dGlscy5jOjM4NSBjaGFuZ2VkIHVpZCB0byA5OSAtIE9rDQoxNjozMzozMiB1dGls
cy5jOjM4OSBjaGFuZ2VkIGV1aWQgdG8gOTkgLSBPaw0KMTY6MzM6MzIgSU5GTzpzb2NrLmM6NjMg
bGlzdGVuaW5nIG9uIHBvcnQgNTA2MA0KMTY6MzM6MzIgc29jay5jOjY0IGJvdW5kIGxpc3RlbiBz
b2NrZXQgNA0KMTY6MzM6MzIgcnRwcHJveHkuYzo5OSBjcmVhdGUgdGhyZWFkDQoxNjozMzozMiBy
dHBwcm94eS5jOjEwMSBjcmVhdGVkLCBzdHM9MA0KMTY6MzM6MzIgSU5GTzpzaXByb3hkLmM6MTc3
IHNpcHJveGQtMC4yLjktODQyIHN0YXJ0ZWQNCjE2OjMzOjMyIHNpcHJveGQuYzoxODMgZ29pbmcg
aW50byBzaXBfd2FpdA0KDQoxNjozMzozNyByZWdpc3Rlci5jOjIxNyBzaXBfYWdlbWFwLCB0PTEw
NDg1NTI0MTcNCjE2OjMzOjM5IHNpcHJveGQuYzoxOTAgYmFjayBmcm9tIHNpcF93YWl0DQoxNjoz
MzozOSBzb2NrLmM6MTA0IHJlY2VpdmVkIFVEUCBwYWNrZXQgZnJvbSAxMC4xMC4xMC4xMTUsIGNv
dW50PTQ4MQ0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MiA0NSA0NyA0OSA1MyA1NCA0
NSA1MiAyMCA3MyA2OSA3MCAzYSA2MyA2MyA2OSBSRUdJU1RFUiBzaXA6Y2NpDQogIDczIDYxIDY2
IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDIwIDUzIDQ5IDUwIHNhZmUuY2NpLm5ldCBTSVAN
CiAgMmYgMzIgMmUgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAgNTMgNDkgNTAgMmYgMzIgLzIuMC4u
VmlhOiBTSVAvMg0KICAyZSAzMCAyZiA1NSA0NCA1MCAyMCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAz
MCAyZSAuMC9VRFAgMTAuMTAuMTAuDQogIDMxIDMxIDM1IDNhIDMxIDMzIDM0IDMxIDM1IDBkIDBh
IDQ2IDcyIDZmIDZkIDNhIDExNToxMzQxNS4uRnJvbToNCiAgMjAgM2MgNzMgNjkgNzAgM2EgNjIg
NmYgNjIgNDAgNjMgNjMgNjkgNzMgNjEgNjYgIDxzaXA6Ym9iQGNjaXNhZg0KICA2NSAyZSA2MyA2
MyA2OSAyZSA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCAzNSBlLmNjaS5uZXQ+O3RhZz01DQog
IDM3IDMwIDYxIDYxIDM5IDY2IDM2IDJkIDMxIDM5IDM0IDMyIDJkIDM0IDMyIDY2IDcwYWE5ZjYt
MTk0Mi00MmYNCiAgMzggMmQgNjIgNjUgNjYgMzggMmQgNjMgMzkgNjIgMzkgNjMgNjMgMzkgMzEg
NjMgOC1iZWY4LWM5YjljYzkxYw0KICA2NiAzMiA2NSAwZCAwYSA1NCA2ZiAzYSAyMCAzYyA3MyA2
OSA3MCAzYSA2MiA2ZiBmMmUuLlRvOiA8c2lwOmJvDQogIDYyIDQwIDYzIDYzIDY5IDczIDYxIDY2
IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IGJAY2Npc2FmZS5jY2kubmUNCiAgNzQgM2UgMGQgMGEg
NDMgNjEgNmMgNmMgMmQgNDkgNDQgM2EgMjAgNjYgMzYgNjUgdD4uLkNhbGwtSUQ6IGY2ZQ0KICA2
MSA2NiA2MiAzOSAzMSAyZCAzMCA2NCA2MyAzNyAyZCAzNCA2MiA2NiAzMCAyZCBhZmI5MS0wZGM3
LTRiZjAtDQogIDM5IDY0IDY0IDYzIDJkIDMxIDY0IDMxIDM3IDYxIDY1IDY1IDM3IDYzIDMyIDY2
IDlkZGMtMWQxN2FlZTdjMmYNCiAgNjQgNDAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzAgMmUgMzEg
MzEgMzUgMGQgMGEgZEAxMC4xMC4xMC4xMTUuLg0KICA0MyA1MyA2NSA3MSAzYSAyMCAzMSAyMCA1
MiA0NSA0NyA0OSA1MyA1NCA0NSA1MiBDU2VxOiAxIFJFR0lTVEVSDQogIDBkIDBhIDQzIDZmIDZl
IDc0IDYxIDYzIDc0IDNhIDIwIDNjIDczIDY5IDcwIDNhIC4uQ29udGFjdDogPHNpcDoNCiAgMzEg
MzAgMmUgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgM2EgMzEgMzMgMzQgMTAuMTAuMTAuMTE1
OjEzNA0KICAzMSAzNSAzZSAzYiA2ZCA2NSA3NCA2OCA2ZiA2NCA3MyAzZCAyMiA0OSA0ZSA1NiAx
NT47bWV0aG9kcz0iSU5WDQogIDQ5IDU0IDQ1IDJjIDIwIDRkIDQ1IDUzIDUzIDQxIDQ3IDQ1IDJj
IDIwIDQ5IDRlIElURSwgTUVTU0FHRSwgSU4NCiAgNDYgNGYgMmMgMjAgNTMgNTUgNDIgNTMgNDMg
NTIgNDkgNDIgNDUgMmMgMjAgNGYgRk8sIFNVQlNDUklCRSwgTw0KICA1MCA1NCA0OSA0ZiA0ZSA1
MyAyYyAyMCA0MiA1OSA0NSAyYyAyMCA0MyA0MSA0ZSBQVElPTlMsIEJZRSwgQ0FODQogIDQzIDQ1
IDRjIDJjIDIwIDRlIDRmIDU0IDQ5IDQ2IDU5IDJjIDIwIDQxIDQzIDRiIENFTCwgTk9USUZZLCBB
Q0sNCiAgMjIgMGQgMGEgNTUgNzMgNjUgNzIgMmQgNDEgNjcgNjUgNmUgNzQgM2EgMjAgNTcgIi4u
VXNlci1BZ2VudDogVw0KICA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCA1MiA1NCA0MyAyZiAzMSAyZSAz
MCAwZCAwYSBpbmRvd3MgUlRDLzEuMC4uDQogIDQ1IDc4IDcwIDY5IDcyIDY1IDczIDNhIDIwIDMx
IDMyIDMwIDMwIDBkIDBhIDQ1IEV4cGlyZXM6IDEyMDAuLkUNCiAgNzYgNjUgNmUgNzQgM2EgMjAg
NzIgNjUgNjcgNjkgNzMgNzQgNzIgNjEgNzQgNjkgdmVudDogcmVnaXN0cmF0aQ0KICA2ZiA2ZSAw
ZCAwYSA0MSA2YyA2YyA2ZiA3NyAyZCA0NSA3NiA2NSA2ZSA3NCA3MyBvbi4uQWxsb3ctRXZlbnRz
DQogIDNhIDIwIDcwIDcyIDY1IDczIDY1IDZlIDYzIDY1IDBkIDBhIDQzIDZmIDZlIDc0IDogcHJl
c2VuY2UuLkNvbnQNCiAgNjUgNmUgNzQgMmQgNGMgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzAgMGQg
MGEgMGQgZW50LUxlbmd0aDogMC4uLg0KICAwYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAuICAgICAgICAgICAgICAgDQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVN
UC0tLQ0KMTY6MzM6MzkgYWNjZXNzY3RsLmM6NTUgZGVueSAgbGlzdCAoU0lQKTpOVUxMDQoxNjoz
MzozOSBhY2Nlc3NjdGwuYzo1NyBhbGxvdyBsaXN0IChTSVApOk5VTEwNCjE2OjMzOjM5IGFjY2Vz
c2N0bC5jOjU5IGFsbG93IGxpc3QgKFJFRyk6TlVMTA0KMTY6MzM6Mzkgc2lwcm94ZC5jOjIxOCBy
ZWNlaXZlZCBTSVAgdHlwZSBSRVE6UkVHSVNURVINCjE2OjMzOjM5IHJlZ2lzdGVyLmM6OTcgc2lw
X3JlZ2lzdGVyOg0KMTY6MzM6MzkgcmVnaXN0ZXIuYzoxMTAgZXhwaXJlczoxMjAwIHNlY29uZHMN
CjE2OjMzOjM5IHJlZ2lzdGVyLmM6MTUyIGNyZWF0ZSBuZXcgZW50cnkgZm9yICpOVUxMKkAxMC4x
MC4xMC4xMTUgYXQgc2xvdD0wDQoxNjozMzozOSByZWdpc3Rlci5jOjE3MyAwIGVudHJpZXMgaW4g
TUFTSyBjb25maWcgdGFibGUNCjE2OjMzOjM5IHNvY2suYzoxMzAgYWxsb2NhdGVkIHNlbmQgc29j
a2V0IDcNCjE2OjMzOjM5IHNvY2suYzoxNDAgc2VuZCBVRFAgcGFja2V0IHRvIDEwLjEwLjEwLjEx
NTogMTM0MTUNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAgNTMgNDkgNTAgMmYgMzIgMmUg
MzAgMjAgMzIgMzAgMzAgMjAgNGYgNGIgMGQgMGEgU0lQLzIuMCAyMDAgT0suLg0KICA1NiA2OSA2
MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCBWaWE6IFNJUC8yLjAvVURQ
DQogIDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMxIDM1IDNhIDMxIDMzICAxMC4x
MC4xMC4xMTU6MTMNCiAgMzQgMzEgMzUgMGQgMGEgNDYgNzIgNmYgNmQgM2EgMjAgM2MgNzMgNjkg
NzAgM2EgNDE1Li5Gcm9tOiA8c2lwOg0KICA2MiA2ZiA2MiA0MCA2MyA2MyA2OSA3MyA2MSA2NiA2
NSAyZSA2MyA2MyA2OSAyZSBib2JAY2Npc2FmZS5jY2kuDQogIDZlIDY1IDc0IDNlIDNiIDc0IDYx
IDY3IDNkIDM1IDM3IDMwIDYxIDYxIDM5IDY2IG5ldD47dGFnPTU3MGFhOWYNCiAgMzYgMmQgMzEg
MzkgMzQgMzIgMmQgMzQgMzIgNjYgMzggMmQgNjIgNjUgNjYgMzggNi0xOTQyLTQyZjgtYmVmOA0K
ICAyZCA2MyAzOSA2MiAzOSA2MyA2MyAzOSAzMSA2MyA2NiAzMiA2NSAwZCAwYSA1NCAtYzliOWNj
OTFjZjJlLi5UDQogIDZmIDNhIDIwIDNjIDczIDY5IDcwIDNhIDYyIDZmIDYyIDQwIDYzIDYzIDY5
IDczIG86IDxzaXA6Ym9iQGNjaXMNCiAgNjEgNjYgNjUgMmUgNjMgNjMgNjkgMmUgNmUgNjUgNzQg
M2UgMGQgMGEgNDMgNjEgYWZlLmNjaS5uZXQ+Li5DYQ0KICA2YyA2YyAyZCA0OSA0NCAzYSAyMCA2
NiAzNiA2NSA2MSA2NiA2MiAzOSAzMSAyZCBsbC1JRDogZjZlYWZiOTEtDQogIDMwIDY0IDYzIDM3
IDJkIDM0IDYyIDY2IDMwIDJkIDM5IDY0IDY0IDYzIDJkIDMxIDBkYzctNGJmMC05ZGRjLTENCiAg
NjQgMzEgMzcgNjEgNjUgNjUgMzcgNjMgMzIgNjYgNjQgNDAgMzEgMzAgMmUgMzEgZDE3YWVlN2My
ZmRAMTAuMQ0KICAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSAwZCAwYSA0MyA1MyA2NSA3MSAzYSAy
MCAwLjEwLjExNS4uQ1NlcTogDQogIDMxIDIwIDUyIDQ1IDQ3IDQ5IDUzIDU0IDQ1IDUyIDBkIDBh
IDY1IDc4IDcwIDY5IDEgUkVHSVNURVIuLmV4cGkNCiAgNzIgNjUgNzMgM2EgMjAgMzEgMzIgMzAg
MzAgMGQgMGEgNDMgNmYgNmUgNzQgNjUgcmVzOiAxMjAwLi5Db250ZQ0KICA2ZSA3NCAyZCA0YyA2
NSA2ZSA2NyA3NCA2OCAzYSAyMCAzMCAwZCAwYSAwZCAwYSBudC1MZW5ndGg6IDAuLi4uDQoNCi0t
LWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzM6Mzkgc2lwcm94ZC5jOjE4MyBnb2luZyBpbnRv
IHNpcF93YWl0DQoNCjE2OjMzOjM5IHNpcHJveGQuYzoxOTAgYmFjayBmcm9tIHNpcF93YWl0DQox
NjozMzozOSBzb2NrLmM6MTA0IHJlY2VpdmVkIFVEUCBwYWNrZXQgZnJvbSAxMC4xMC4xMC4xMTUs
IGNvdW50PTM2Ng0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MyA1NSA0MiA1MyA0MyA1
MiA0OSA0MiA0NSAyMCA3MyA2OSA3MCAzYSA3NCA2ZiBTVUJTQ1JJQkUgc2lwOnRvDQogIDZkIDQw
IDYyIDc1IDY3IDZjIDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDIwIG1AYnVnbGUuY2NpLm5l
dCANCiAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAgNTMgNDkgU0lQ
LzIuMC4uVmlhOiBTSQ0KICA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCAyMCAzMSAzMCAyZSAz
MSAzMCAyZSBQLzIuMC9VRFAgMTAuMTAuDQogIDMxIDMwIDJlIDMxIDMxIDM1IDNhIDMxIDMzIDM0
IDMxIDM1IDBkIDBhIDQ2IDcyIDEwLjExNToxMzQxNS4uRnINCiAgNmYgNmQgM2EgMjAgMjIgNjIg
NmYgNjIgMjIgMjAgM2MgNzMgNjkgNzAgM2EgNjIgb206ICJib2IiIDxzaXA6Yg0KICA2ZiA2MiA0
MCA2MyA2MyA2OSA3MyA2MSA2NiA2NSAyZSA2MyA2MyA2OSAyZSA2ZSBvYkBjY2lzYWZlLmNjaS5u
DQogIDY1IDc0IDNlIDNiIDc0IDYxIDY3IDNkIDM2IDM4IDMyIDM3IDM3IDM1IDYzIDM5IGV0Pjt0
YWc9NjgyNzc1YzkNCiAgMmQgMzIgMzYgMzkgMzggMmQgMzQgNjIgNjQgNjUgMmQgMzggMzIgNjUg
NjMgMmQgLTI2OTgtNGJkZS04MmVjLQ0KICA2NiA2NiAzOSAzNCA2MyA2NSAzNiAzNiA2MiAzOSA2
NiA2MSAwZCAwYSA1NCA2ZiBmZjk0Y2U2NmI5ZmEuLlRvDQogIDNhIDIwIDNjIDczIDY5IDcwIDNh
IDc0IDZmIDZkIDQwIDYyIDc1IDY3IDZjIDY1IDogPHNpcDp0b21AYnVnbGUNCiAgMmUgNjMgNjMg
NjkgMmUgNmUgNjUgNzQgM2UgMGQgMGEgNDMgNjEgNmMgNmMgMmQgLmNjaS5uZXQ+Li5DYWxsLQ0K
ICA0OSA0NCAzYSAyMCA2MyAzMyAzNyAzOCAzMCAzOSAzMyAzNyAyZCAzMyA2MyA2NCBJRDogYzM3
ODA5MzctM2NkDQogIDM4IDJkIDM0IDM4IDM4IDM4IDJkIDYyIDMyIDM0IDMwIDJkIDM2IDY1IDMy
IDMxIDgtNDg4OC1iMjQwLTZlMjENCiAgNjYgMzkgNjEgMzUgMzUgMzYgMzggMzEgNDAgMzEgMzAg
MmUgMzEgMzAgMmUgMzEgZjlhNTU2ODFAMTAuMTAuMQ0KICAzMCAyZSAzMSAzMSAzNSAwZCAwYSA0
MyA1MyA2NSA3MSAzYSAyMCAzMSAyMCA1MyAwLjExNS4uQ1NlcTogMSBTDQogIDU1IDQyIDUzIDQz
IDUyIDQ5IDQyIDQ1IDBkIDBhIDQzIDZmIDZlIDc0IDYxIDYzIFVCU0NSSUJFLi5Db250YWMNCiAg
NzQgM2EgMjAgM2MgNzMgNjkgNzAgM2EgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzAgdDogPHNpcDox
MC4xMC4xMA0KICAyZSAzMSAzMSAzNSAzYSAzMSAzMyAzNCAzMSAzNSAzZSAwZCAwYSA1NSA3MyA2
NSAuMTE1OjEzNDE1Pi4uVXNlDQogIDcyIDJkIDQxIDY3IDY1IDZlIDc0IDNhIDIwIDU3IDY5IDZl
IDY0IDZmIDc3IDczIHItQWdlbnQ6IFdpbmRvd3MNCiAgMjAgNTIgNTQgNDMgMmYgMzEgMmUgMzAg
MGQgMGEgNDUgNzggNzAgNjkgNzIgNjUgIFJUQy8xLjAuLkV4cGlyZQ0KICA3MyAzYSAyMCAzMSAz
OCAzMCAzMCAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSA3NCBzOiAxODAwLi5Db250ZW50DQogIDJk
IDRjIDY1IDZlIDY3IDc0IDY4IDNhIDIwIDMwIDBkIDBhIDBkIDBhICAgICAgIC1MZW5ndGg6IDAu
Li4uICANCg0KLS0tZW5kIG9mIEJVRkZFUiBEVU1QLS0tDQoxNjozMzozOSBhY2Nlc3NjdGwuYzo1
NSBkZW55ICBsaXN0IChTSVApOk5VTEwNCjE2OjMzOjM5IGFjY2Vzc2N0bC5jOjU3IGFsbG93IGxp
c3QgKFNJUCk6TlVMTA0KMTY6MzM6MzkgYWNjZXNzY3RsLmM6NTkgYWxsb3cgbGlzdCAoUkVHKTpO
VUxMDQoxNjozMzozOSBzaXByb3hkLmM6MjE4IHJlY2VpdmVkIFNJUCB0eXBlIFJFUTpTVUJTQ1JJ
QkUNCjE2OjMzOjM5IHByb3h5LmM6NzEgcHJveHlfcmVxdWVzdA0KMTY6MzM6MzkgdXRpbHMuYzoz
MjUgY29tcGFyaW5nIHVybHM6IHRvbUBidWdsZS5jY2kubmV0IC0+IGJvYkBjY2lzYWZlLmNjaS5u
ZXQNCjE2OjMzOjM5IHV0aWxzLmM6MzI1IGNvbXBhcmluZyB1cmxzOiBib2JAY2Npc2FmZS5jY2ku
bmV0IC0+IGJvYkBjY2lzYWZlLmNjaS5uZXQNCjE2OjMzOjM5IHByb3h5LmM6OTkgb3V0Z29pbmcg
cmVxdWVzdCBmcm9tIGJvYkBjY2lzYWZlLmNjaS5uZXQgZnJvbSBpbmJvdW5kDQoxNjozMzozOSB1
dGlscy5jOjQ1MSBjaGVjayBmb3IgbG9jYWwgU0lQIFVSSSBidWdsZS5jY2kubmV0OihudWxsKQ0K
MTY6MzM6MzkgdXRpbHMuYzoyMTIgaW5pdGlhbGl6aW5nIEROUyBjYWNoZSAoMzIgZW50cmllcykN
CjE2OjMzOjM5IHV0aWxzLmM6MjU0IEROUyBsb29rdXAgLSByZXNvbHZlZDogYnVnbGUuY2NpLm5l
dCAtPiAyMDQuNTcuMTQyLjE4DQoxNjozMzozOSB1dGlscy5jOjI3MyBETlMgbG9va3VwIC0gc3Rv
cmUgaW50byBjYWNoZSwgZW50cnkgMCkNCjE2OjMzOjM5IHV0aWxzLmM6NDY2IHJlc29sdmluZyBJ
UCBvZiBpbnRlcmZhY2UgZXRoMQ0KMTY6MzM6MzkgdXRpbHMuYzo0MjcgZ2V0X2lwX2J5X2lmbmFt
ZTogaW50ZXJmYWNlIGV0aDEgaGFzIElQOiAxMC4xMC4xMC4xMA0KMTY6MzM6MzkgdXRpbHMuYzo0
NjYgcmVzb2x2aW5nIElQIG9mIGludGVyZmFjZSBldGgwDQoxNjozMzozOSB1dGlscy5jOjQyNyBn
ZXRfaXBfYnlfaWZuYW1lOiBpbnRlcmZhY2UgZXRoMCBoYXMgSVA6IDIwNC41Ny4xNDIuMw0KMTY6
MzM6MzkgdXRpbHMuYzo0ODMgU0lQIFVSSSBpcyBub3QgbG9jYWwNCjE2OjMzOjM5IFdBUk5JTkc6
dXRpbHMuYzozMTEgY29tcGFyZV91cmw6IE5VTEwgdXNlcm5hbWUgcG9pbnRlcjogTVNOIG1lc3Nl
bmdlciBpcyBrbm93biB0byB0cmlnZ2VyIHRoaXMgb25lISBbdXJsMS0+dXNlcm5hbWU9MHgobmls
KSwgdXJsMi0+dXNlcm5hbWU9MHgobmlsKV0NCjE2OjMzOjM5IHV0aWxzLmM6MzEzIGNvbXBhcmlu
ZyBicm9rZW4gdXJscyAobm8gdXNlcik6IDEwLjEwLjEwLjExNSAtPiAxMC4xMC4xMC4xMTUNCjE2
OjMzOjM5IHByb3h5LmM6MTkzIHJld3JvdGUgQ29udGFjdCBoZWFkZXIgKk5VTEwqQDEwLjEwLjEw
LjExNSAtPiBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozMzozOSB1dGlscy5jOjQyNyBnZXRfaXBf
YnlfaWZuYW1lOiBpbnRlcmZhY2UgZXRoMCBoYXMgSVA6IDIwNC41Ny4xNDIuMw0KMTY6MzM6Mzkg
cHJveHkuYzo1MzYgYWRkaW5nIFZJQTpTSVAvMi4wL1VEUCAyMDQuNTcuMTQyLjM6NTA2MA0KMTY6
MzM6MzkgdXRpbHMuYzoyMzUgRE5TIGxvb2t1cCAtIGZyb20gY2FjaGU6IGJ1Z2xlLmNjaS5uZXQg
LT4gMjA0LjU3LjE0Mi4xOA0KMTY6MzM6Mzkgc29jay5jOjE0MCBzZW5kIFVEUCBwYWNrZXQgdG8g
MjA0LjU3LjE0Mi4xODogNTA2MA0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MyA1NSA0
MiA1MyA0MyA1MiA0OSA0MiA0NSAyMCA3MyA2OSA3MCAzYSA3NCA2ZiBTVUJTQ1JJQkUgc2lwOnRv
DQogIDZkIDQwIDYyIDc1IDY3IDZjIDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDIwIG1AYnVn
bGUuY2NpLm5ldCANCiAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAg
NTMgNDkgU0lQLzIuMC4uVmlhOiBTSQ0KICA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCAyMCAz
MiAzMCAzNCAyZSAzNSAzNyBQLzIuMC9VRFAgMjA0LjU3DQogIDJlIDMxIDM0IDMyIDJlIDMzIDNh
IDM1IDMwIDM2IDMwIDBkIDBhIDU2IDY5IDYxIC4xNDIuMzo1MDYwLi5WaWENCiAgM2EgMjAgNTMg
NDkgNTAgMmYgMzIgMmUgMzAgMmYgNTUgNDQgNTAgMjAgMzEgMzAgOiBTSVAvMi4wL1VEUCAxMA0K
ICAyZSAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSAzYSAzMSAzMyAzNCAzMSAzNSAuMTAuMTAu
MTE1OjEzNDE1DQogIDBkIDBhIDQ2IDcyIDZmIDZkIDNhIDIwIDIyIDYyIDZmIDYyIDIyIDIwIDNj
IDczIC4uRnJvbTogImJvYiIgPHMNCiAgNjkgNzAgM2EgNjIgNmYgNjIgNDAgNjMgNjMgNjkgNzMg
NjEgNjYgNjUgMmUgNjMgaXA6Ym9iQGNjaXNhZmUuYw0KICA2MyA2OSAyZSA2ZSA2NSA3NCAzZSAz
YiA3NCA2MSA2NyAzZCAzNiAzOCAzMiAzNyBjaS5uZXQ+O3RhZz02ODI3DQogIDM3IDM1IDYzIDM5
IDJkIDMyIDM2IDM5IDM4IDJkIDM0IDYyIDY0IDY1IDJkIDM4IDc1YzktMjY5OC00YmRlLTgNCiAg
MzIgNjUgNjMgMmQgNjYgNjYgMzkgMzQgNjMgNjUgMzYgMzYgNjIgMzkgNjYgNjEgMmVjLWZmOTRj
ZTY2YjlmYQ0KICAwZCAwYSA1NCA2ZiAzYSAyMCAzYyA3MyA2OSA3MCAzYSA3NCA2ZiA2ZCA0MCA2
MiAuLlRvOiA8c2lwOnRvbUBiDQogIDc1IDY3IDZjIDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0
IDNlIDBkIDBhIDQzIHVnbGUuY2NpLm5ldD4uLkMNCiAgNjEgNmMgNmMgMmQgNDkgNDQgM2EgMjAg
NjMgMzMgMzcgMzggMzAgMzkgMzMgMzcgYWxsLUlEOiBjMzc4MDkzNw0KICAyZCAzMyA2MyA2NCAz
OCAyZCAzNCAzOCAzOCAzOCAyZCA2MiAzMiAzNCAzMCAyZCAtM2NkOC00ODg4LWIyNDAtDQogIDM2
IDY1IDMyIDMxIDY2IDM5IDYxIDM1IDM1IDM2IDM4IDMxIDQwIDMxIDMwIDJlIDZlMjFmOWE1NTY4
MUAxMC4NCiAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgMGQgMGEgNDMgNTMgNjUgNzEgM2Eg
MTAuMTAuMTE1Li5DU2VxOg0KICAyMCAzMSAyMCA1MyA1NSA0MiA1MyA0MyA1MiA0OSA0MiA0NSAw
ZCAwYSA0MyA2ZiAgMSBTVUJTQ1JJQkUuLkNvDQogIDZlIDc0IDYxIDYzIDc0IDNhIDIwIDNjIDcz
IDY5IDcwIDNhIDYyIDZmIDYyIDQwIG50YWN0OiA8c2lwOmJvYkANCiAgNjMgNjMgNjkgNzMgNjEg
NjYgNjUgMmUgNjMgNjMgNjkgMmUgNmUgNjUgNzQgM2UgY2Npc2FmZS5jY2kubmV0Pg0KICAwZCAw
YSA3NSA3MyA2NSA3MiAyZCA2MSA2NyA2NSA2ZSA3NCAzYSAyMCA1NyA2OSAuLnVzZXItYWdlbnQ6
IFdpDQogIDZlIDY0IDZmIDc3IDczIDIwIDUyIDU0IDQzIDJmIDMxIDJlIDMwIDBkIDBhIDY1IG5k
b3dzIFJUQy8xLjAuLmUNCiAgNzggNzAgNjkgNzIgNjUgNzMgM2EgMjAgMzEgMzggMzAgMzAgMGQg
MGEgNDMgNmYgeHBpcmVzOiAxODAwLi5Dbw0KICA2ZSA3NCA2NSA2ZSA3NCAyZCA0YyA2NSA2ZSA2
NyA3NCA2OCAzYSAyMCAzMCAwZCBudGVudC1MZW5ndGg6IDAuDQogIDBhIDBkIDBhICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLiAgICAgICAgICAgICANCg0KLS0tZW5k
IG9mIEJVRkZFUiBEVU1QLS0tDQoxNjozMzozOSBzaXByb3hkLmM6MTgzIGdvaW5nIGludG8gc2lw
X3dhaXQNCg0KMTY6MzM6Mzkgc2lwcm94ZC5jOjE5MCBiYWNrIGZyb20gc2lwX3dhaXQNCjE2OjMz
OjM5IHNvY2suYzoxMDQgcmVjZWl2ZWQgVURQIHBhY2tldCBmcm9tIDIwNC41Ny4xNDIuMTgsIGNv
dW50PTQxOQ0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MyA0OSA1MCAyZiAzMiAyZSAz
MCAyMCAzMiAzMCAzMCAyMCA0ZiA0YiAwZCAwYSBTSVAvMi4wIDIwMCBPSy4uDQogIDU2IDY5IDYx
IDNhIDIwIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDJmIDU1IDQ0IDUwIFZpYTogU0lQLzIuMC9VRFAN
CiAgMjAgMzIgMzAgMzQgMmUgMzUgMzcgMmUgMzEgMzQgMzIgMmUgMzMgM2EgMzUgMzAgIDIwNC41
Ny4xNDIuMzo1MA0KICAzNiAzMCAwZCAwYSA1NiA2OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAy
ZSAzMCA2MC4uVmlhOiBTSVAvMi4wDQogIDJmIDU1IDQ0IDUwIDIwIDMxIDMwIDJlIDMxIDMwIDJl
IDMxIDMwIDJlIDMxIDMxIC9VRFAgMTAuMTAuMTAuMTENCiAgMzUgM2EgMzEgMzMgMzQgMzEgMzUg
MGQgMGEgNDYgNzIgNmYgNmQgM2EgMjAgMjIgNToxMzQxNS4uRnJvbTogIg0KICA2MiA2ZiA2MiAy
MiAyMCAzYyA3MyA2OSA3MCAzYSA2MiA2ZiA2MiA0MCA2MyA2MyBib2IiIDxzaXA6Ym9iQGNjDQog
IDY5IDczIDYxIDY2IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIDNiIDc0IGlzYWZlLmNj
aS5uZXQ+O3QNCiAgNjEgNjcgM2QgMzYgMzggMzIgMzcgMzcgMzUgNjMgMzkgMmQgMzIgMzYgMzkg
MzggYWc9NjgyNzc1YzktMjY5OA0KICAyZCAzNCA2MiA2NCA2NSAyZCAzOCAzMiA2NSA2MyAyZCA2
NiA2NiAzOSAzNCA2MyAtNGJkZS04MmVjLWZmOTRjDQogIDY1IDM2IDM2IDYyIDM5IDY2IDYxIDBk
IDBhIDU0IDZmIDNhIDIwIDNjIDczIDY5IGU2NmI5ZmEuLlRvOiA8c2kNCiAgNzAgM2EgNzQgNmYg
NmQgNDAgNjIgNzUgNjcgNmMgNjUgMmUgNjMgNjMgNjkgMmUgcDp0b21AYnVnbGUuY2NpLg0KICA2
ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCA2MiAzNiA2NiAzNyAzNSA2MyA2NCBuZXQ+O3RhZz1i
NmY3NWNkDQogIDM1IDJkIDM1IDY1IDMwIDM5IDJkIDMxIDMxIDY0IDM3IDJkIDM4IDM4IDY1IDMz
IDUtNWUwOS0xMWQ3LTg4ZTMNCiAgMmQgMzAgMzAgNjEgMzAgNjMgNjMgMzQgMzEgMzAgMzIgMzIg
NjMgMGQgMGEgNDMgLTAwYTBjYzQxMDIyYy4uQw0KICA2MSA2YyA2YyAyZCA0OSA0NCAzYSAyMCA2
MyAzMyAzNyAzOCAzMCAzOSAzMyAzNyBhbGwtSUQ6IGMzNzgwOTM3DQogIDJkIDMzIDYzIDY0IDM4
IDJkIDM0IDM4IDM4IDM4IDJkIDYyIDMyIDM0IDMwIDJkIC0zY2Q4LTQ4ODgtYjI0MC0NCiAgMzYg
NjUgMzIgMzEgNjYgMzkgNjEgMzUgMzUgMzYgMzggMzEgNDAgMzEgMzAgMmUgNmUyMWY5YTU1Njgx
QDEwLg0KICAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSAwZCAwYSA0MyA1MyA2NSA3MSAzYSAx
MC4xMC4xMTUuLkNTZXE6DQogIDIwIDMxIDIwIDUzIDU1IDQyIDUzIDQzIDUyIDQ5IDQyIDQ1IDBk
IDBhIDQzIDZmICAxIFNVQlNDUklCRS4uQ28NCiAgNmUgNzQgNjEgNjMgNzQgM2EgMjAgM2MgNzMg
NjkgNzAgM2EgMzIgMzAgMzQgMmUgbnRhY3Q6IDxzaXA6MjA0Lg0KICAzNSAzNyAyZSAzMSAzNCAz
MiAyZSAzMSAzMyAzNCAzYSAzNyAzMiAzOCAzNSAzZSA1Ny4xNDIuMTM0OjcyODU+DQogIDBkIDBh
IDU1IDczIDY1IDcyIDJkIDQxIDY3IDY1IDZlIDc0IDNhIDIwIDU3IDY5IC4uVXNlci1BZ2VudDog
V2kNCiAgNmUgNjQgNmYgNzcgNzMgMjAgNTIgNTQgNDMgMmYgMzEgMmUgMzAgMGQgMGEgNDUgbmRv
d3MgUlRDLzEuMC4uRQ0KICA3OCA3MCA2OSA3MiA2NSA3MyAzYSAyMCAzMSAzOCAzMCAzMCAwZCAw
YSA0MyA2ZiB4cGlyZXM6IDE4MDAuLkNvDQogIDZlIDc0IDY1IDZlIDc0IDJkIDRjIDY1IDZlIDY3
IDc0IDY4IDNhIDIwIDMwIDBkIG50ZW50LUxlbmd0aDogMC4NCiAgMGEgMGQgMGEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uICAgICAgICAgICAgIA0KDQotLS1lbmQg
b2YgQlVGRkVSIERVTVAtLS0NCjE2OjMzOjM5IGFjY2Vzc2N0bC5jOjU1IGRlbnkgIGxpc3QgKFNJ
UCk6TlVMTA0KMTY6MzM6MzkgYWNjZXNzY3RsLmM6NTcgYWxsb3cgbGlzdCAoU0lQKTpOVUxMDQox
NjozMzozOSBhY2Nlc3NjdGwuYzo1OSBhbGxvdyBsaXN0IChSRUcpOk5VTEwNCjE2OjMzOjM5IHNp
cHJveGQuYzoyMTggcmVjZWl2ZWQgU0lQIHR5cGUgUkVTOk5VTEwNCjE2OjMzOjM5IHByb3h5LmM6
MzEwIHByb3h5X3Jlc3BvbnNlDQoxNjozMzozOSB1dGlscy5jOjE0NSB2aWEgbmFtZSAxMC4xMC4x
MC4xMTUNCjE2OjMzOjM5IHV0aWxzLmM6MTYwIHJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRo
MQ0KMTY6MzM6MzkgdXRpbHMuYzo0MjcgZ2V0X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDEg
aGFzIElQOiAxMC4xMC4xMC4xMA0KMTY6MzM6MzkgdXRpbHMuYzoxNjAgcmVzb2x2aW5nIElQIG9m
IGludGVyZmFjZSBldGgwDQoxNjozMzozOSB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBp
bnRlcmZhY2UgZXRoMCBoYXMgSVA6IDIwNC41Ny4xNDIuMw0KMTY6MzM6MzkgcHJveHkuYzo1NjEg
ZGVsZXRpbmcgdG9wbW9zdCBWSUENCjE2OjMzOjM5IHV0aWxzLmM6MTQ1IHZpYSBuYW1lIDIwNC41
Ny4xNDIuMw0KMTY6MzM6MzkgdXRpbHMuYzoxNjAgcmVzb2x2aW5nIElQIG9mIGludGVyZmFjZSBl
dGgxDQoxNjozMzozOSB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBpbnRlcmZhY2UgZXRo
MSBoYXMgSVA6IDEwLjEwLjEwLjEwDQoxNjozMzozOSB1dGlscy5jOjE2MCByZXNvbHZpbmcgSVAg
b2YgaW50ZXJmYWNlIGV0aDANCjE2OjMzOjM5IHV0aWxzLmM6NDI3IGdldF9pcF9ieV9pZm5hbWU6
IGludGVyZmFjZSBldGgwIGhhcyBJUDogMjA0LjU3LjE0Mi4zDQoxNjozMzozOSB1dGlscy5jOjE3
MSBhZGRyZXNzIG1hdGNoIFsyMDQuNTcuMTQyLjNdIDwtPiBbMjA0LjU3LjE0Mi4zXQ0KMTY6MzM6
MzkgdXRpbHMuYzozMjUgY29tcGFyaW5nIHVybHM6IGJvYkBjY2lzYWZlLmNjaS5uZXQgLT4gYm9i
QGNjaXNhZmUuY2NpLm5ldA0KMTY6MzM6MzkgcHJveHkuYzozNDkgaW5jb21pbmcgcmVzcG9uc2Ug
Zm9yIGJvYkBjY2lzYWZlLmNjaS5uZXQgZnJvbSBvdXRib3VuZA0KMTY6MzM6MzkgdXRpbHMuYzoy
NTQgRE5TIGxvb2t1cCAtIHJlc29sdmVkOiAxMC4xMC4xMC4xMTUgLT4gMTAuMTAuMTAuMTE1DQox
NjozMzozOSB1dGlscy5jOjI3MyBETlMgbG9va3VwIC0gc3RvcmUgaW50byBjYWNoZSwgZW50cnkg
MSkNCjE2OjMzOjM5IHNvY2suYzoxNDAgc2VuZCBVRFAgcGFja2V0IHRvIDEwLjEwLjEwLjExNTog
MTM0MTUNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAgNTMgNDkgNTAgMmYgMzIgMmUgMzAg
MjAgMzIgMzAgMzAgMjAgNGYgNGIgMGQgMGEgU0lQLzIuMCAyMDAgT0suLg0KICA1NiA2OSA2MSAz
YSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCBWaWE6IFNJUC8yLjAvVURQDQog
IDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMxIDM1IDNhIDMxIDMzICAxMC4xMC4x
MC4xMTU6MTMNCiAgMzQgMzEgMzUgMGQgMGEgNDYgNzIgNmYgNmQgM2EgMjAgMjIgNjIgNmYgNjIg
MjIgNDE1Li5Gcm9tOiAiYm9iIg0KICAyMCAzYyA3MyA2OSA3MCAzYSA2MiA2ZiA2MiA0MCA2MyA2
MyA2OSA3MyA2MSA2NiAgPHNpcDpib2JAY2Npc2FmDQogIDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1
IDc0IDNlIDNiIDc0IDYxIDY3IDNkIDM2IGUuY2NpLm5ldD47dGFnPTYNCiAgMzggMzIgMzcgMzcg
MzUgNjMgMzkgMmQgMzIgMzYgMzkgMzggMmQgMzQgNjIgNjQgODI3NzVjOS0yNjk4LTRiZA0KICA2
NSAyZCAzOCAzMiA2NSA2MyAyZCA2NiA2NiAzOSAzNCA2MyA2NSAzNiAzNiA2MiBlLTgyZWMtZmY5
NGNlNjZiDQogIDM5IDY2IDYxIDBkIDBhIDU0IDZmIDNhIDIwIDNjIDczIDY5IDcwIDNhIDc0IDZm
IDlmYS4uVG86IDxzaXA6dG8NCiAgNmQgNDAgNjIgNzUgNjcgNmMgNjUgMmUgNjMgNjMgNjkgMmUg
NmUgNjUgNzQgM2UgbUBidWdsZS5jY2kubmV0Pg0KICAzYiA3NCA2MSA2NyAzZCA2MiAzNiA2NiAz
NyAzNSA2MyA2NCAzNSAyZCAzNSA2NSA7dGFnPWI2Zjc1Y2Q1LTVlDQogIDMwIDM5IDJkIDMxIDMx
IDY0IDM3IDJkIDM4IDM4IDY1IDMzIDJkIDMwIDMwIDYxIDA5LTExZDctODhlMy0wMGENCiAgMzAg
NjMgNjMgMzQgMzEgMzAgMzIgMzIgNjMgMGQgMGEgNDMgNjEgNmMgNmMgMmQgMGNjNDEwMjJjLi5D
YWxsLQ0KICA0OSA0NCAzYSAyMCA2MyAzMyAzNyAzOCAzMCAzOSAzMyAzNyAyZCAzMyA2MyA2NCBJ
RDogYzM3ODA5MzctM2NkDQogIDM4IDJkIDM0IDM4IDM4IDM4IDJkIDYyIDMyIDM0IDMwIDJkIDM2
IDY1IDMyIDMxIDgtNDg4OC1iMjQwLTZlMjENCiAgNjYgMzkgNjEgMzUgMzUgMzYgMzggMzEgNDAg
MzEgMzAgMmUgMzEgMzAgMmUgMzEgZjlhNTU2ODFAMTAuMTAuMQ0KICAzMCAyZSAzMSAzMSAzNSAw
ZCAwYSA0MyA1MyA2NSA3MSAzYSAyMCAzMSAyMCA1MyAwLjExNS4uQ1NlcTogMSBTDQogIDU1IDQy
IDUzIDQzIDUyIDQ5IDQyIDQ1IDBkIDBhIDQzIDZmIDZlIDc0IDYxIDYzIFVCU0NSSUJFLi5Db250
YWMNCiAgNzQgM2EgMjAgM2MgNzMgNjkgNzAgM2EgMzIgMzAgMzQgMmUgMzUgMzcgMmUgMzEgdDog
PHNpcDoyMDQuNTcuMQ0KICAzNCAzMiAyZSAzMSAzMyAzNCAzYSAzNyAzMiAzOCAzNSAzZSAwZCAw
YSA3NSA3MyA0Mi4xMzQ6NzI4NT4uLnVzDQogIDY1IDcyIDJkIDYxIDY3IDY1IDZlIDc0IDNhIDIw
IDU3IDY5IDZlIDY0IDZmIDc3IGVyLWFnZW50OiBXaW5kb3cNCiAgNzMgMjAgNTIgNTQgNDMgMmYg
MzEgMmUgMzAgMGQgMGEgNjUgNzggNzAgNjkgNzIgcyBSVEMvMS4wLi5leHBpcg0KICA2NSA3MyAz
YSAyMCAzMSAzOCAzMCAzMCAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSBlczogMTgwMC4uQ29udGVu
DQogIDc0IDJkIDRjIDY1IDZlIDY3IDc0IDY4IDNhIDIwIDMwIDBkIDBhIDBkIDBhICAgIHQtTGVu
Z3RoOiAwLi4uLiANCg0KLS0tZW5kIG9mIEJVRkZFUiBEVU1QLS0tDQoxNjozMzozOSBzaXByb3hk
LmM6MTgzIGdvaW5nIGludG8gc2lwX3dhaXQNCg0KMTY6MzM6Mzkgc2lwcm94ZC5jOjE5MCBiYWNr
IGZyb20gc2lwX3dhaXQNCjE2OjMzOjM5IHNvY2suYzoxMDQgcmVjZWl2ZWQgVURQIHBhY2tldCBm
cm9tIDIwNC41Ny4xNDIuMTM0LCBjb3VudD03NzcNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0N
CiAgNGUgNGYgNTQgNDkgNDYgNTkgMjAgNzMgNjkgNzAgM2EgNjIgNmYgNjIgNDAgNjMgTk9USUZZ
IHNpcDpib2JAYw0KICA2MyA2OSA3MyA2MSA2NiA2NSAyZSA2MyA2MyA2OSAyZSA2ZSA2NSA3NCAy
MCA1MyBjaXNhZmUuY2NpLm5ldCBTDQogIDQ5IDUwIDJmIDMyIDJlIDMwIDBkIDBhIDU2IDY5IDYx
IDNhIDIwIDUzIDQ5IDUwIElQLzIuMC4uVmlhOiBTSVANCiAgMmYgMzIgMmUgMzAgMmYgNTUgNDQg
NTAgMjAgMzIgMzAgMzQgMmUgMzUgMzcgMmUgLzIuMC9VRFAgMjA0LjU3Lg0KICAzMSAzNCAzMiAy
ZSAzMSAzMyAzNCAzYSAzNyAzMiAzOCAzNSAwZCAwYSA0NiA3MiAxNDIuMTM0OjcyODUuLkZyDQog
IDZmIDZkIDNhIDIwIDNjIDczIDY5IDcwIDNhIDc0IDZmIDZkIDQwIDYyIDc1IDY3IG9tOiA8c2lw
OnRvbUBidWcNCiAgNmMgNjUgMmUgNjMgNjMgNjkgMmUgNmUgNjUgNzQgM2UgM2IgNzQgNjEgNjcg
M2QgbGUuY2NpLm5ldD47dGFnPQ0KICA2MiAzNiA2NiAzNyAzNSA2MyA2NCAzNSAyZCAzNSA2NSAz
MCAzOSAyZCAzMSAzMSBiNmY3NWNkNS01ZTA5LTExDQogIDY0IDM3IDJkIDM4IDM4IDY1IDMzIDJk
IDMwIDMwIDYxIDMwIDYzIDYzIDM0IDMxIGQ3LTg4ZTMtMDBhMGNjNDENCiAgMzAgMzIgMzIgNjMg
MGQgMGEgNTQgNmYgM2EgMjAgMjIgNjIgNmYgNjIgMjIgMjAgMDIyYy4uVG86ICJib2IiIA0KICAz
YyA3MyA2OSA3MCAzYSA2MiA2ZiA2MiA0MCA2MyA2MyA2OSA3MyA2MSA2NiA2NSA8c2lwOmJvYkBj
Y2lzYWZlDQogIDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIDNiIDc0IDYxIDY3IDNkIDM2IDM4
IC5jY2kubmV0Pjt0YWc9NjgNCiAgMzIgMzcgMzcgMzUgNjMgMzkgMmQgMzIgMzYgMzkgMzggMmQg
MzQgNjIgNjQgNjUgMjc3NWM5LTI2OTgtNGJkZQ0KICAyZCAzOCAzMiA2NSA2MyAyZCA2NiA2NiAz
OSAzNCA2MyA2NSAzNiAzNiA2MiAzOSAtODJlYy1mZjk0Y2U2NmI5DQogIDY2IDYxIDBkIDBhIDQz
IDYxIDZjIDZjIDJkIDQ5IDQ0IDNhIDIwIDYzIDMzIDM3IGZhLi5DYWxsLUlEOiBjMzcNCiAgMzgg
MzAgMzkgMzMgMzcgMmQgMzMgNjMgNjQgMzggMmQgMzQgMzggMzggMzggMmQgODA5MzctM2NkOC00
ODg4LQ0KICA2MiAzMiAzNCAzMCAyZCAzNiA2NSAzMiAzMSA2NiAzOSA2MSAzNSAzNSAzNiAzOCBi
MjQwLTZlMjFmOWE1NTY4DQogIDMxIDQwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMx
IDM1IDBkIDBhIDFAMTAuMTAuMTAuMTE1Li4NCiAgNDMgNTMgNjUgNzEgM2EgMjAgMzEgMjAgNGUg
NGYgNTQgNDkgNDYgNTkgMGQgMGEgQ1NlcTogMSBOT1RJRlkuLg0KICA0MyA2ZiA2ZSA3NCA2MSA2
MyA3NCAzYSAyMCAzYyA3MyA2OSA3MCAzYSAzMiAzMCBDb250YWN0OiA8c2lwOjIwDQogIDM0IDJl
IDM1IDM3IDJlIDMxIDM0IDMyIDJlIDMxIDMzIDM0IDNhIDM3IDMyIDM4IDQuNTcuMTQyLjEzNDo3
MjgNCiAgMzUgM2UgMGQgMGEgNTUgNzMgNjUgNzIgMmQgNDEgNjcgNjUgNmUgNzQgM2EgMjAgNT4u
LlVzZXItQWdlbnQ6IA0KICA1NyA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCA1MiA1NCA0MyAyZiAzMSAy
ZSAzMCAwZCBXaW5kb3dzIFJUQy8xLjAuDQogIDBhIDQzIDZmIDZlIDc0IDY1IDZlIDc0IDJkIDU0
IDc5IDcwIDY1IDNhIDIwIDYxIC5Db250ZW50LVR5cGU6IGENCiAgNzAgNzAgNmMgNjkgNjMgNjEg
NzQgNjkgNmYgNmUgMmYgNzggNzAgNjkgNjQgNjYgcHBsaWNhdGlvbi94cGlkZg0KICAyYiA3OCA2
ZCA2YyAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSA3NCAyZCA0YyA2NSAreG1sLi5Db250ZW50LUxl
DQogIDZlIDY3IDc0IDY4IDNhIDIwIDMzIDM0IDM4IDBkIDBhIDBkIDBhIDNjIDNmIDc4IG5ndGg6
IDM0OC4uLi48P3gNCiAgNmQgNmMgMjAgNzYgNjUgNzIgNzMgNjkgNmYgNmUgM2QgMjIgMzEgMmUg
MzAgMjIgbWwgdmVyc2lvbj0iMS4wIg0KICAzZiAzZSAwYSAzYyAyMSA0NCA0ZiA0MyA1NCA1OSA1
MCA0NSAyMCA3MCA3MiA2NSA/Pi48IURPQ1RZUEUgcHJlDQogIDczIDY1IDZlIDYzIDY1IDBhIDUw
IDU1IDQyIDRjIDQ5IDQzIDIwIDIyIDJkIDJmIHNlbmNlLlBVQkxJQyAiLS8NCiAgMmYgNDkgNDUg
NTQgNDYgMmYgMmYgNDQgNTQgNDQgMjAgNTIgNDYgNDMgNzggNzggL0lFVEYvL0RURCBSRkN4eA0K
ICA3OCA3OCAyMCA1OCA1MCA0OSA0NCA0NiAyMCAzMSAyZSAzMCAyZiAyZiA0NSA0ZSB4eCBYUElE
RiAxLjAvL0VODQogIDIyIDIwIDIyIDc4IDcwIDY5IDY0IDY2IDJlIDY0IDc0IDY0IDIyIDNlIDBh
IDNjICIgInhwaWRmLmR0ZCI+LjwNCiAgNzAgNzIgNjUgNzMgNjUgNmUgNjMgNjUgM2UgMGEgM2Mg
NzAgNzIgNjUgNzMgNjUgcHJlc2VuY2U+LjxwcmVzZQ0KICA2ZSA3NCA2OSA3NCA3OSAyMCA3NSA3
MiA2OSAzZCAyMiA3MyA2OSA3MCAzYSA2MiBudGl0eSB1cmk9InNpcDpiDQogIDZmIDYyIDQwIDYz
IDYzIDY5IDczIDYxIDY2IDY1IDJlIDYzIDYzIDY5IDJlIDZlIG9iQGNjaXNhZmUuY2NpLm4NCiAg
NjUgNzQgM2IgNmQgNjUgNzQgNjggNmYgNjQgM2QgNTMgNTUgNDIgNTMgNDMgNTIgZXQ7bWV0aG9k
PVNVQlNDUg0KICA0OSA0MiA0NSAyMiAyMCAyZiAzZSAwYSAzYyA2MSA3NCA2ZiA2ZCAyMCA2OSA2
NCBJQkUiIC8+LjxhdG9tIGlkDQogIDNkIDIyIDMxIDMwIDMwIDM2IDIyIDNlIDBhIDNjIDYxIDY0
IDY0IDcyIDY1IDczID0iMTAwNiI+LjxhZGRyZXMNCiAgNzMgMjAgNzUgNzIgNjkgM2QgMjIgNzMg
NjkgNzAgM2EgMzIgMzAgMzQgMmUgMzUgcyB1cmk9InNpcDoyMDQuNQ0KICAzNyAyZSAzMSAzNCAz
MiAyZSAzMSAzMyAzNCAzYSAzNyAzMiAzOCAzNSAzYiA3NSA3LjE0Mi4xMzQ6NzI4NTt1DQogIDcz
IDY1IDcyIDNkIDY5IDcwIDIyIDIwIDcwIDcyIDY5IDZmIDcyIDY5IDc0IDc5IHNlcj1pcCIgcHJp
b3JpdHkNCiAgM2QgMjIgMzAgMmUgMzggMzAgMzAgMzAgMzAgMzAgMjIgM2UgMGEgM2MgNzMgNzQg
PSIwLjgwMDAwMCI+LjxzdA0KICA2MSA3NCA3NSA3MyAyMCA3MyA3NCA2MSA3NCA3NSA3MyAzZCAy
MiA2ZiA3MCA2NSBhdHVzIHN0YXR1cz0ib3BlDQogIDZlIDIyIDIwIDJmIDNlIDBhIDNjIDZkIDcz
IDZlIDczIDc1IDYyIDczIDc0IDYxIG4iIC8+Ljxtc25zdWJzdGENCiAgNzQgNzUgNzMgMjAgNzMg
NzUgNjIgNzMgNzQgNjEgNzQgNzUgNzMgM2QgMjIgNmYgdHVzIHN1YnN0YXR1cz0ibw0KICA2ZSA2
YyA2OSA2ZSA2NSAyMiAyMCAyZiAzZSAwYSAzYyAyZiA2MSA2NCA2NCA3MiBubGluZSIgLz4uPC9h
ZGRyDQogIDY1IDczIDczIDNlIDBhIDNjIDJmIDYxIDc0IDZmIDZkIDNlIDBhIDNjIDJmIDcwIGVz
cz4uPC9hdG9tPi48L3ANCiAgNzIgNjUgNzMgNjUgNmUgNjMgNjUgM2UgMGEgICAgICAgICAgICAg
ICAgICAgICAgcmVzZW5jZT4uICAgICAgIA0KDQotLS1lbmQgb2YgQlVGRkVSIERVTVAtLS0NCjE2
OjMzOjM5IGFjY2Vzc2N0bC5jOjU1IGRlbnkgIGxpc3QgKFNJUCk6TlVMTA0KMTY6MzM6MzkgYWNj
ZXNzY3RsLmM6NTcgYWxsb3cgbGlzdCAoU0lQKTpOVUxMDQoxNjozMzozOSBhY2Nlc3NjdGwuYzo1
OSBhbGxvdyBsaXN0IChSRUcpOk5VTEwNCjE2OjMzOjM5IHNpcHJveGQuYzoyMTggcmVjZWl2ZWQg
U0lQIHR5cGUgUkVROk5PVElGWQ0KMTY6MzM6MzkgcHJveHkuYzo3MSBwcm94eV9yZXF1ZXN0DQox
NjozMzozOSB1dGlscy5jOjMyNSBjb21wYXJpbmcgdXJsczogYm9iQGNjaXNhZmUuY2NpLm5ldCAt
PiBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozMzozOSBwcm94eS5jOjkwIGluY29taW5nIHJlcXVl
c3QgZnJvbSB0b21AYnVnbGUuY2NpLm5ldCBmcm9tIG91dGJvdW5kDQoxNjozMzozOSBwcm94eS5j
OjExNyByZXdyaXRpbmcgaW5jb21pbmcgUmVxdWVzdCBVUkkNCjE2OjMzOjM5IHV0aWxzLmM6NDI3
IGdldF9pcF9ieV9pZm5hbWU6IGludGVyZmFjZSBldGgxIGhhcyBJUDogMTAuMTAuMTAuMTANCjE2
OjMzOjM5IHByb3h5LmM6NTM2IGFkZGluZyBWSUE6U0lQLzIuMC9VRFAgMTAuMTAuMTAuMTA6NTA2
MA0KMTY6MzM6MzkgdXRpbHMuYzoyMzUgRE5TIGxvb2t1cCAtIGZyb20gY2FjaGU6IDEwLjEwLjEw
LjExNSAtPiAxMC4xMC4xMC4xMTUNCjE2OjMzOjM5IHNvY2suYzoxNDAgc2VuZCBVRFAgcGFja2V0
IHRvIDEwLjEwLjEwLjExNTogMTM0MTUNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAgNGUg
NGYgNTQgNDkgNDYgNTkgMjAgNzMgNjkgNzAgM2EgNjIgNmYgNjIgNDAgMzEgTk9USUZZIHNpcDpi
b2JAMQ0KICAzMCAyZSAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSAzYSAzMSAzMyAzNCAzMSAw
LjEwLjEwLjExNToxMzQxDQogIDM1IDIwIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDBkIDBhIDU2IDY5
IDYxIDNhIDIwIDUgU0lQLzIuMC4uVmlhOiANCiAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMmYgNTUg
NDQgNTAgMjAgMzEgMzAgMmUgMzEgU0lQLzIuMC9VRFAgMTAuMQ0KICAzMCAyZSAzMSAzMCAyZSAz
MSAzMCAzYSAzNSAzMCAzNiAzMCAwZCAwYSA1NiA2OSAwLjEwLjEwOjUwNjAuLlZpDQogIDYxIDNh
IDIwIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDJmIDU1IDQ0IDUwIDIwIDMyIGE6IFNJUC8yLjAvVURQ
IDINCiAgMzAgMzQgMmUgMzUgMzcgMmUgMzEgMzQgMzIgMmUgMzEgMzMgMzQgM2EgMzcgMzIgMDQu
NTcuMTQyLjEzNDo3Mg0KICAzOCAzNSAwZCAwYSA0NiA3MiA2ZiA2ZCAzYSAyMCAzYyA3MyA2OSA3
MCAzYSA3NCA4NS4uRnJvbTogPHNpcDp0DQogIDZmIDZkIDQwIDYyIDc1IDY3IDZjIDY1IDJlIDYz
IDYzIDY5IDJlIDZlIDY1IDc0IG9tQGJ1Z2xlLmNjaS5uZXQNCiAgM2UgM2IgNzQgNjEgNjcgM2Qg
NjIgMzYgNjYgMzcgMzUgNjMgNjQgMzUgMmQgMzUgPjt0YWc9YjZmNzVjZDUtNQ0KICA2NSAzMCAz
OSAyZCAzMSAzMSA2NCAzNyAyZCAzOCAzOCA2NSAzMyAyZCAzMCAzMCBlMDktMTFkNy04OGUzLTAw
DQogIDYxIDMwIDYzIDYzIDM0IDMxIDMwIDMyIDMyIDYzIDBkIDBhIDU0IDZmIDNhIDIwIGEwY2M0
MTAyMmMuLlRvOiANCiAgMjIgNjIgNmYgNjIgMjIgMjAgM2MgNzMgNjkgNzAgM2EgNjIgNmYgNjIg
NDAgNjMgImJvYiIgPHNpcDpib2JAYw0KICA2MyA2OSA3MyA2MSA2NiA2NSAyZSA2MyA2MyA2OSAy
ZSA2ZSA2NSA3NCAzZSAzYiBjaXNhZmUuY2NpLm5ldD47DQogIDc0IDYxIDY3IDNkIDM2IDM4IDMy
IDM3IDM3IDM1IDYzIDM5IDJkIDMyIDM2IDM5IHRhZz02ODI3NzVjOS0yNjkNCiAgMzggMmQgMzQg
NjIgNjQgNjUgMmQgMzggMzIgNjUgNjMgMmQgNjYgNjYgMzkgMzQgOC00YmRlLTgyZWMtZmY5NA0K
ICA2MyA2NSAzNiAzNiA2MiAzOSA2NiA2MSAwZCAwYSA0MyA2MSA2YyA2YyAyZCA0OSBjZTY2Yjlm
YS4uQ2FsbC1JDQogIDQ0IDNhIDIwIDYzIDMzIDM3IDM4IDMwIDM5IDMzIDM3IDJkIDMzIDYzIDY0
IDM4IEQ6IGMzNzgwOTM3LTNjZDgNCiAgMmQgMzQgMzggMzggMzggMmQgNjIgMzIgMzQgMzAgMmQg
MzYgNjUgMzIgMzEgNjYgLTQ4ODgtYjI0MC02ZTIxZg0KICAzOSA2MSAzNSAzNSAzNiAzOCAzMSA0
MCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMCA5YTU1NjgxQDEwLjEwLjEwDQogIDJlIDMxIDMxIDM1
IDBkIDBhIDQzIDUzIDY1IDcxIDNhIDIwIDMxIDIwIDRlIDRmIC4xMTUuLkNTZXE6IDEgTk8NCiAg
NTQgNDkgNDYgNTkgMGQgMGEgNDMgNmYgNmUgNzQgNjEgNjMgNzQgM2EgMjAgM2MgVElGWS4uQ29u
dGFjdDogPA0KICA3MyA2OSA3MCAzYSAzMiAzMCAzNCAyZSAzNSAzNyAyZSAzMSAzNCAzMiAyZSAz
MSBzaXA6MjA0LjU3LjE0Mi4xDQogIDMzIDM0IDNhIDM3IDMyIDM4IDM1IDNlIDBkIDBhIDc1IDcz
IDY1IDcyIDJkIDYxIDM0OjcyODU+Li51c2VyLWENCiAgNjcgNjUgNmUgNzQgM2EgMjAgNTcgNjkg
NmUgNjQgNmYgNzcgNzMgMjAgNTIgNTQgZ2VudDogV2luZG93cyBSVA0KICA0MyAyZiAzMSAyZSAz
MCAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSA3NCAyZCA1NCBDLzEuMC4uQ29udGVudC1UDQogIDc5
IDcwIDY1IDNhIDIwIDYxIDcwIDcwIDZjIDY5IDYzIDYxIDc0IDY5IDZmIDZlIHlwZTogYXBwbGlj
YXRpb24NCiAgMmYgNzggNzAgNjkgNjQgNjYgMmIgNzggNmQgNmMgMGQgMGEgNDMgNmYgNmUgNzQg
L3hwaWRmK3htbC4uQ29udA0KICA2NSA2ZSA3NCAyZCA0YyA2NSA2ZSA2NyA3NCA2OCAzYSAyMCAz
MyAzNCAzOCAyMCBlbnQtTGVuZ3RoOiAzNDggDQogIDIwIDBkIDBhIDBkIDBhIDNjIDNmIDc4IDZk
IDZjIDIwIDc2IDY1IDcyIDczIDY5ICAuLi4uPD94bWwgdmVyc2kNCiAgNmYgNmUgM2QgMjIgMzEg
MmUgMzAgMjIgM2YgM2UgMGEgM2MgMjEgNDQgNGYgNDMgb249IjEuMCI/Pi48IURPQw0KICA1NCA1
OSA1MCA0NSAyMCA3MCA3MiA2NSA3MyA2NSA2ZSA2MyA2NSAwYSA1MCA1NSBUWVBFIHByZXNlbmNl
LlBVDQogIDQyIDRjIDQ5IDQzIDIwIDIyIDJkIDJmIDJmIDQ5IDQ1IDU0IDQ2IDJmIDJmIDQ0IEJM
SUMgIi0vL0lFVEYvL0QNCiAgNTQgNDQgMjAgNTIgNDYgNDMgNzggNzggNzggNzggMjAgNTggNTAg
NDkgNDQgNDYgVEQgUkZDeHh4eCBYUElERg0KICAyMCAzMSAyZSAzMCAyZiAyZiA0NSA0ZSAyMiAy
MCAyMiA3OCA3MCA2OSA2NCA2NiAgMS4wLy9FTiIgInhwaWRmDQogIDJlIDY0IDc0IDY0IDIyIDNl
IDBhIDNjIDcwIDcyIDY1IDczIDY1IDZlIDYzIDY1IC5kdGQiPi48cHJlc2VuY2UNCiAgM2UgMGEg
M2MgNzAgNzIgNjUgNzMgNjUgNmUgNzQgNjkgNzQgNzkgMjAgNzUgNzIgPi48cHJlc2VudGl0eSB1
cg0KICA2OSAzZCAyMiA3MyA2OSA3MCAzYSA2MiA2ZiA2MiA0MCA2MyA2MyA2OSA3MyA2MSBpPSJz
aXA6Ym9iQGNjaXNhDQogIDY2IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNiIDZkIDY1IDc0
IDY4IDZmIGZlLmNjaS5uZXQ7bWV0aG8NCiAgNjQgM2QgNTMgNTUgNDIgNTMgNDMgNTIgNDkgNDIg
NDUgMjIgMjAgMmYgM2UgMGEgZD1TVUJTQ1JJQkUiIC8+Lg0KICAzYyA2MSA3NCA2ZiA2ZCAyMCA2
OSA2NCAzZCAyMiAzMSAzMCAzMCAzNiAyMiAzZSA8YXRvbSBpZD0iMTAwNiI+DQogIDBhIDNjIDYx
IDY0IDY0IDcyIDY1IDczIDczIDIwIDc1IDcyIDY5IDNkIDIyIDczIC48YWRkcmVzcyB1cmk9InMN
CiAgNjkgNzAgM2EgMzIgMzAgMzQgMmUgMzUgMzcgMmUgMzEgMzQgMzIgMmUgMzEgMzMgaXA6MjA0
LjU3LjE0Mi4xMw0KICAzNCAzYSAzNyAzMiAzOCAzNSAzYiA3NSA3MyA2NSA3MiAzZCA2OSA3MCAy
MiAyMCA0OjcyODU7dXNlcj1pcCIgDQogIDcwIDcyIDY5IDZmIDcyIDY5IDc0IDc5IDNkIDIyIDMw
IDJlIDM4IDMwIDMwIDMwIHByaW9yaXR5PSIwLjgwMDANCiAgMzAgMzAgMjIgM2UgMGEgM2MgNzMg
NzQgNjEgNzQgNzUgNzMgMjAgNzMgNzQgNjEgMDAiPi48c3RhdHVzIHN0YQ0KICA3NCA3NSA3MyAz
ZCAyMiA2ZiA3MCA2NSA2ZSAyMiAyMCAyZiAzZSAwYSAzYyA2ZCB0dXM9Im9wZW4iIC8+LjxtDQog
IDczIDZlIDczIDc1IDYyIDczIDc0IDYxIDc0IDc1IDczIDIwIDczIDc1IDYyIDczIHNuc3Vic3Rh
dHVzIHN1YnMNCiAgNzQgNjEgNzQgNzUgNzMgM2QgMjIgNmYgNmUgNmMgNjkgNmUgNjUgMjIgMjAg
MmYgdGF0dXM9Im9ubGluZSIgLw0KICAzZSAwYSAzYyAyZiA2MSA2NCA2NCA3MiA2NSA3MyA3MyAz
ZSAwYSAzYyAyZiA2MSA+LjwvYWRkcmVzcz4uPC9hDQogIDc0IDZmIDZkIDNlIDBhIDNjIDJmIDcw
IDcyIDY1IDczIDY1IDZlIDYzIDY1IDNlIHRvbT4uPC9wcmVzZW5jZT4NCiAgMGEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAgICAgICAgICAgICAgIA0KDQot
LS1lbmQgb2YgQlVGRkVSIERVTVAtLS0NCjE2OjMzOjM5IHNpcHJveGQuYzoxODMgZ29pbmcgaW50
byBzaXBfd2FpdA0KDQoxNjozMzozOSBzaXByb3hkLmM6MTkwIGJhY2sgZnJvbSBzaXBfd2FpdA0K
MTY6MzM6Mzkgc29jay5jOjEwNCByZWNlaXZlZCBVRFAgcGFja2V0IGZyb20gMTAuMTAuMTAuMTE1
LCBjb3VudD0zNjUNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAgNTMgNDkgNTAgMmYgMzIg
MmUgMzAgMjAgMzIgMzAgMzAgMjAgNGYgNGIgMGQgMGEgU0lQLzIuMCAyMDAgT0suLg0KICA1NiA2
OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCBWaWE6IFNJUC8yLjAv
VURQDQogIDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDNhIDM1IDMwIDM2ICAx
MC4xMC4xMC4xMDo1MDYNCiAgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAgNTMgNDkgNTAgMmYgMzIg
MmUgMzAgMmYgMC4uVmlhOiBTSVAvMi4wLw0KICA1NSA0NCA1MCAyMCAzMiAzMCAzNCAyZSAzNSAz
NyAyZSAzMSAzNCAzMiAyZSAzMSBVRFAgMjA0LjU3LjE0Mi4xDQogIDMzIDM0IDNhIDM3IDMyIDM4
IDM1IDBkIDBhIDQ2IDcyIDZmIDZkIDNhIDIwIDNjIDM0OjcyODUuLkZyb206IDwNCiAgNzMgNjkg
NzAgM2EgNzQgNmYgNmQgNDAgNjIgNzUgNjcgNmMgNjUgMmUgNjMgNjMgc2lwOnRvbUBidWdsZS5j
Yw0KICA2OSAyZSA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCA2MiAzNiA2NiAzNyAzNSBpLm5l
dD47dGFnPWI2Zjc1DQogIDYzIDY0IDM1IDJkIDM1IDY1IDMwIDM5IDJkIDMxIDMxIDY0IDM3IDJk
IDM4IDM4IGNkNS01ZTA5LTExZDctODgNCiAgNjUgMzMgMmQgMzAgMzAgNjEgMzAgNjMgNjMgMzQg
MzEgMzAgMzIgMzIgNjMgMGQgZTMtMDBhMGNjNDEwMjJjLg0KICAwYSA1NCA2ZiAzYSAyMCAyMiA2
MiA2ZiA2MiAyMiAyMCAzYyA3MyA2OSA3MCAzYSAuVG86ICJib2IiIDxzaXA6DQogIDYyIDZmIDYy
IDQwIDYzIDYzIDY5IDczIDYxIDY2IDY1IDJlIDYzIDYzIDY5IDJlIGJvYkBjY2lzYWZlLmNjaS4N
CiAgNmUgNjUgNzQgM2UgM2IgNzQgNjEgNjcgM2QgMzYgMzggMzIgMzcgMzcgMzUgNjMgbmV0Pjt0
YWc9NjgyNzc1Yw0KICAzOSAyZCAzMiAzNiAzOSAzOCAyZCAzNCA2MiA2NCA2NSAyZCAzOCAzMiA2
NSA2MyA5LTI2OTgtNGJkZS04MmVjDQogIDJkIDY2IDY2IDM5IDM0IDYzIDY1IDM2IDM2IDYyIDM5
IDY2IDYxIDBkIDBhIDQzIC1mZjk0Y2U2NmI5ZmEuLkMNCiAgNjEgNmMgNmMgMmQgNDkgNDQgM2Eg
MjAgNjMgMzMgMzcgMzggMzAgMzkgMzMgMzcgYWxsLUlEOiBjMzc4MDkzNw0KICAyZCAzMyA2MyA2
NCAzOCAyZCAzNCAzOCAzOCAzOCAyZCA2MiAzMiAzNCAzMCAyZCAtM2NkOC00ODg4LWIyNDAtDQog
IDM2IDY1IDMyIDMxIDY2IDM5IDYxIDM1IDM1IDM2IDM4IDMxIDQwIDMxIDMwIDJlIDZlMjFmOWE1
NTY4MUAxMC4NCiAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgMGQgMGEgNDMgNTMgNjUgNzEg
M2EgMTAuMTAuMTE1Li5DU2VxOg0KICAyMCAzMSAyMCA0ZSA0ZiA1NCA0OSA0NiA1OSAwZCAwYSA1
NSA3MyA2NSA3MiAyZCAgMSBOT1RJRlkuLlVzZXItDQogIDQxIDY3IDY1IDZlIDc0IDNhIDIwIDU3
IDY5IDZlIDY0IDZmIDc3IDczIDIwIDUyIEFnZW50OiBXaW5kb3dzIFINCiAgNTQgNDMgMmYgMzEg
MmUgMzAgMGQgMGEgNDMgNmYgNmUgNzQgNjUgNmUgNzQgMmQgVEMvMS4wLi5Db250ZW50LQ0KICA0
YyA2NSA2ZSA2NyA3NCA2OCAzYSAyMCAzMCAwZCAwYSAwZCAwYSAgICAgICAgICBMZW5ndGg6IDAu
Li4uICAgDQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzM6MzkgYWNjZXNzY3RsLmM6
NTUgZGVueSAgbGlzdCAoU0lQKTpOVUxMDQoxNjozMzozOSBhY2Nlc3NjdGwuYzo1NyBhbGxvdyBs
aXN0IChTSVApOk5VTEwNCjE2OjMzOjM5IGFjY2Vzc2N0bC5jOjU5IGFsbG93IGxpc3QgKFJFRyk6
TlVMTA0KMTY6MzM6Mzkgc2lwcm94ZC5jOjIxOCByZWNlaXZlZCBTSVAgdHlwZSBSRVM6TlVMTA0K
MTY6MzM6MzkgcHJveHkuYzozMTAgcHJveHlfcmVzcG9uc2UNCjE2OjMzOjM5IHV0aWxzLmM6MTQ1
IHZpYSBuYW1lIDIwNC41Ny4xNDIuMTM0DQoxNjozMzozOSB1dGlscy5jOjE2MCByZXNvbHZpbmcg
SVAgb2YgaW50ZXJmYWNlIGV0aDENCjE2OjMzOjM5IHV0aWxzLmM6NDI3IGdldF9pcF9ieV9pZm5h
bWU6IGludGVyZmFjZSBldGgxIGhhcyBJUDogMTAuMTAuMTAuMTANCjE2OjMzOjM5IHV0aWxzLmM6
MTYwIHJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMA0KMTY6MzM6MzkgdXRpbHMuYzo0Mjcg
Z2V0X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDAgaGFzIElQOiAyMDQuNTcuMTQyLjMNCjE2
OjMzOjM5IHByb3h5LmM6NTYxIGRlbGV0aW5nIHRvcG1vc3QgVklBDQoxNjozMzozOSB1dGlscy5j
OjE0NSB2aWEgbmFtZSAxMC4xMC4xMC4xMA0KMTY6MzM6MzkgdXRpbHMuYzoxNjAgcmVzb2x2aW5n
IElQIG9mIGludGVyZmFjZSBldGgxDQoxNjozMzozOSB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZu
YW1lOiBpbnRlcmZhY2UgZXRoMSBoYXMgSVA6IDEwLjEwLjEwLjEwDQoxNjozMzozOSB1dGlscy5j
OjE3MSBhZGRyZXNzIG1hdGNoIFsxMC4xMC4xMC4xMF0gPC0+IFsxMC4xMC4xMC4xMF0NCjE2OjMz
OjM5IHV0aWxzLmM6MzI1IGNvbXBhcmluZyB1cmxzOiB0b21AYnVnbGUuY2NpLm5ldCAtPiBib2JA
Y2Npc2FmZS5jY2kubmV0DQoxNjozMzozOSB1dGlscy5jOjMyNSBjb21wYXJpbmcgdXJsczogYm9i
QGNjaXNhZmUuY2NpLm5ldCAtPiBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozMzozOSBwcm94eS5j
OjM1OCBvdXRnb2luZyByZXNwb25zZSBmb3IgdG9tQGJ1Z2xlLmNjaS5uZXQgZnJvbSBpbmJvdW5k
DQoxNjozMzozOSB1dGlscy5jOjI1NCBETlMgbG9va3VwIC0gcmVzb2x2ZWQ6IDIwNC41Ny4xNDIu
MTM0IC0+IDIwNC41Ny4xNDIuMTM0DQoxNjozMzozOSB1dGlscy5jOjI3MyBETlMgbG9va3VwIC0g
c3RvcmUgaW50byBjYWNoZSwgZW50cnkgMikNCjE2OjMzOjM5IHNvY2suYzoxNDAgc2VuZCBVRFAg
cGFja2V0IHRvIDIwNC41Ny4xNDIuMTM0OiA3Mjg1DQotLS1CVUZGRVIgRFVNUCBmb2xsb3dzLS0t
DQogIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDIwIDMyIDMwIDMwIDIwIDRmIDRiIDBkIDBhIFNJUC8y
LjAgMjAwIE9LLi4NCiAgNTYgNjkgNjEgM2EgMjAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMmYgNTUg
NDQgNTAgVmlhOiBTSVAvMi4wL1VEUA0KICAyMCAzMiAzMCAzNCAyZSAzNSAzNyAyZSAzMSAzNCAz
MiAyZSAzMSAzMyAzNCAzYSAgMjA0LjU3LjE0Mi4xMzQ6DQogIDM3IDMyIDM4IDM1IDBkIDBhIDQ2
IDcyIDZmIDZkIDNhIDIwIDNjIDczIDY5IDcwIDcyODUuLkZyb206IDxzaXANCiAgM2EgNzQgNmYg
NmQgNDAgNjIgNzUgNjcgNmMgNjUgMmUgNjMgNjMgNjkgMmUgNmUgOnRvbUBidWdsZS5jY2kubg0K
ICA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCA2MiAzNiA2NiAzNyAzNSA2MyA2NCAzNSBldD47dGFn
PWI2Zjc1Y2Q1DQogIDJkIDM1IDY1IDMwIDM5IDJkIDMxIDMxIDY0IDM3IDJkIDM4IDM4IDY1IDMz
IDJkIC01ZTA5LTExZDctODhlMy0NCiAgMzAgMzAgNjEgMzAgNjMgNjMgMzQgMzEgMzAgMzIgMzIg
NjMgMGQgMGEgNTQgNmYgMDBhMGNjNDEwMjJjLi5Ubw0KICAzYSAyMCAyMiA2MiA2ZiA2MiAyMiAy
MCAzYyA3MyA2OSA3MCAzYSA2MiA2ZiA2MiA6ICJib2IiIDxzaXA6Ym9iDQogIDQwIDYzIDYzIDY5
IDczIDYxIDY2IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IEBjY2lzYWZlLmNjaS5uZXQNCiAg
M2UgM2IgNzQgNjEgNjcgM2QgMzYgMzggMzIgMzcgMzcgMzUgNjMgMzkgMmQgMzIgPjt0YWc9Njgy
Nzc1YzktMg0KICAzNiAzOSAzOCAyZCAzNCA2MiA2NCA2NSAyZCAzOCAzMiA2NSA2MyAyZCA2NiA2
NiA2OTgtNGJkZS04MmVjLWZmDQogIDM5IDM0IDYzIDY1IDM2IDM2IDYyIDM5IDY2IDYxIDBkIDBh
IDQzIDYxIDZjIDZjIDk0Y2U2NmI5ZmEuLkNhbGwNCiAgMmQgNDkgNDQgM2EgMjAgNjMgMzMgMzcg
MzggMzAgMzkgMzMgMzcgMmQgMzMgNjMgLUlEOiBjMzc4MDkzNy0zYw0KICA2NCAzOCAyZCAzNCAz
OCAzOCAzOCAyZCA2MiAzMiAzNCAzMCAyZCAzNiA2NSAzMiBkOC00ODg4LWIyNDAtNmUyDQogIDMx
IDY2IDM5IDYxIDM1IDM1IDM2IDM4IDMxIDQwIDMxIDMwIDJlIDMxIDMwIDJlIDFmOWE1NTY4MUAx
MC4xMC4NCiAgMzEgMzAgMmUgMzEgMzEgMzUgMGQgMGEgNDMgNTMgNjUgNzEgM2EgMjAgMzEgMjAg
MTAuMTE1Li5DU2VxOiAxIA0KICA0ZSA0ZiA1NCA0OSA0NiA1OSAwZCAwYSA3NSA3MyA2NSA3MiAy
ZCA2MSA2NyA2NSBOT1RJRlkuLnVzZXItYWdlDQogIDZlIDc0IDNhIDIwIDU3IDY5IDZlIDY0IDZm
IDc3IDczIDIwIDUyIDU0IDQzIDJmIG50OiBXaW5kb3dzIFJUQy8NCiAgMzEgMmUgMzAgMGQgMGEg
NDMgNmYgNmUgNzQgNjUgNmUgNzQgMmQgNGMgNjUgNmUgMS4wLi5Db250ZW50LUxlbg0KICA2NyA3
NCA2OCAzYSAyMCAzMCAwZCAwYSAwZCAwYSAgICAgICAgICAgICAgICAgICBndGg6IDAuLi4uICAg
ICAgDQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzM6Mzkgc2lwcm94ZC5jOjE4MyBn
b2luZyBpbnRvIHNpcF93YWl0DQoNCjE2OjMzOjQ0IHJlZ2lzdGVyLmM6MjE3IHNpcF9hZ2VtYXAs
IHQ9MTA0ODU1MjQyNA0KMTY6MzM6NDkgcmVnaXN0ZXIuYzoyMTcgc2lwX2FnZW1hcCwgdD0xMDQ4
NTUyNDI5DQoxNjozMzo1NCByZWdpc3Rlci5jOjIxNyBzaXBfYWdlbWFwLCB0PTEwNDg1NTI0MzQN
CjE2OjMzOjU5IHJlZ2lzdGVyLmM6MjE3IHNpcF9hZ2VtYXAsIHQ9MTA0ODU1MjQzOQ0KMTY6MzM6
NTkgc2lwcm94ZC5jOjE5MCBiYWNrIGZyb20gc2lwX3dhaXQNCjE2OjMzOjU5IHNvY2suYzoxMDQg
cmVjZWl2ZWQgVURQIHBhY2tldCBmcm9tIDEwLjEwLjEwLjExNSwgY291bnQ9NTczDQotLS1CVUZG
RVIgRFVNUCBmb2xsb3dzLS0tDQogIDRkIDQ1IDUzIDUzIDQxIDQ3IDQ1IDIwIDczIDY5IDcwIDNh
IDc0IDZmIDZkIDQwIE1FU1NBR0Ugc2lwOnRvbUANCiAgNjIgNzUgNjcgNmMgNjUgMmUgNjMgNjMg
NjkgMmUgNmUgNjUgNzQgMjAgNTMgNDkgYnVnbGUuY2NpLm5ldCBTSQ0KICA1MCAyZiAzMiAyZSAz
MCAwZCAwYSA1NiA2OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiBQLzIuMC4uVmlhOiBTSVAvDQogIDMy
IDJlIDMwIDJmIDU1IDQ0IDUwIDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDIuMC9VRFAgMTAu
MTAuMTANCiAgMmUgMzEgMzEgMzUgM2EgMzEgMzMgMzQgMzEgMzUgMGQgMGEgNDYgNzIgNmYgNmQg
LjExNToxMzQxNS4uRnJvbQ0KICAzYSAyMCAyMiA2MiA2ZiA2MiAyMiAyMCAzYyA3MyA2OSA3MCAz
YSA2MiA2ZiA2MiA6ICJib2IiIDxzaXA6Ym9iDQogIDQwIDYzIDYzIDY5IDczIDYxIDY2IDY1IDJl
IDYzIDYzIDY5IDJlIDZlIDY1IDc0IEBjY2lzYWZlLmNjaS5uZXQNCiAgM2UgM2IgNzQgNjEgNjcg
M2QgMzEgNjMgMzUgNjIgMzAgMzcgMzggMzcgMmQgNjEgPjt0YWc9MWM1YjA3ODctYQ0KICAzMCAz
OCAzNCAyZCAzNCA2NSA2MSAzMyAyZCA2MSAzNiA2NiA2MSAyZCAzNyAzNiAwODQtNGVhMy1hNmZh
LTc2DQogIDM2IDY1IDYzIDYyIDMzIDYzIDMxIDYyIDYyIDM5IDBkIDBhIDU0IDZmIDNhIDIwIDZl
Y2IzYzFiYjkuLlRvOiANCiAgM2MgNzMgNjkgNzAgM2EgNzQgNmYgNmQgNDAgNjIgNzUgNjcgNmMg
NjUgMmUgNjMgPHNpcDp0b21AYnVnbGUuYw0KICA2MyA2OSAyZSA2ZSA2NSA3NCAzZSAwZCAwYSA0
MyA2MSA2YyA2YyAyZCA0OSA0NCBjaS5uZXQ+Li5DYWxsLUlEDQogIDNhIDIwIDM2IDYyIDY2IDMw
IDMyIDMyIDMxIDY2IDJkIDMyIDY0IDMwIDMwIDJkIDogNmJmMDIyMWYtMmQwMC0NCiAgMzQgMzYg
MzkgMzMgMmQgNjIgNjQgNjQgMzggMmQgMzMgMzUgMzQgMzAgNjQgNjIgNDY5My1iZGQ4LTM1NDBk
Yg0KICAzOSAzMCAzNCAzNSA2NSAzMSA0MCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMCAyZSA5MDQ1
ZTFAMTAuMTAuMTAuDQogIDMxIDMxIDM1IDBkIDBhIDQzIDUzIDY1IDcxIDNhIDIwIDMxIDIwIDRk
IDQ1IDUzIDExNS4uQ1NlcTogMSBNRVMNCiAgNTMgNDEgNDcgNDUgMGQgMGEgNDMgNmYgNmUgNzQg
NjEgNjMgNzQgM2EgMjAgM2MgU0FHRS4uQ29udGFjdDogPA0KICA3MyA2OSA3MCAzYSAzMSAzMCAy
ZSAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSBzaXA6MTAuMTAuMTAuMTE1DQogIDNhIDMxIDMz
IDM0IDMxIDM1IDNlIDBkIDBhIDU1IDczIDY1IDcyIDJkIDQxIDY3IDoxMzQxNT4uLlVzZXItQWcN
CiAgNjUgNmUgNzQgM2EgMjAgNTcgNjkgNmUgNjQgNmYgNzcgNzMgMjAgNTIgNTQgNDMgZW50OiBX
aW5kb3dzIFJUQw0KICAyZiAzMSAyZSAzMCAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSA3NCAyZCA1
NCA3OSAvMS4wLi5Db250ZW50LVR5DQogIDcwIDY1IDNhIDIwIDc0IDY1IDc4IDc0IDJmIDcwIDZj
IDYxIDY5IDZlIDNiIDIwIHBlOiB0ZXh0L3BsYWluOyANCiAgNjMgNjggNjEgNzIgNzMgNjUgNzQg
M2QgNTUgNTQgNDYgMmQgMzggM2IgNmQgNzMgY2hhcnNldD1VVEYtODttcw0KICA2NyA3MiAzZCA1
NyA0MSA0MSA3NCA0MSA0NSAzMCA0MSA1NCA1MSA0MiA1NCA0MSBncj1XQUF0QUUwQVRRQlRBDQog
IDQzIDMwIDQxIDUzIDUxIDQyIDRlIDQxIDQzIDMwIDQxIDUyIDY3IDQyIDc2IDQxIEMwQVNRQk5B
QzBBUmdCdkENCiAgNDggNDkgNDEgNjIgNTEgNDIgNjggNDEgNDggNTEgNDEgNGYgNjcgNDEgNjcg
NDEgSElBYlFCaEFIUUFPZ0FnQQ0KICA0NSA1OSA0MSA1NCA2NyA0MSAzOSA0MSA0NSAzMCA0MSA1
NSA3NyA0MSA2YyA0MSBFWUFUZ0E5QUUwQVV3QWxBDQogIDQ0IDQ5IDQxIDRkIDQxIDQyIDU0IDQx
IDQ3IDY3IDQxIDVhIDUxIDQyIDczIDQxIERJQU1BQlRBR2dBWlFCc0ENCiAgNDcgNzcgNDEgNGEg
NTEgNDEgNzkgNDEgNDQgNDEgNDEgNTIgNDEgNDIgNzMgNDEgR3dBSlFBeUFEQUFSQUJzQQ0KICA0
NyA2MyA0MSA0ZiA3NyA0MSA2NyA0MSA0NSA1NSA0MSA1MiA2NyA0MSAzOSA0MSBHY0FPd0FnQUVV
QVJnQTlBDQogIDQ0IDczIDQxIDQ5IDQxIDQyIDQ0IDQxIDQ1IDM4IDQxIDUwIDUxIDQxIDc3IDQx
IERzQUlBQkRBRThBUFFBd0ENCiAgNDQgNzMgNDEgNDkgNDEgNDIgNDQgNDEgNDYgNGQgNDEgNTAg
NTEgNDEgNzcgNDEgRHNBSUFCREFGTUFQUUF3QQ0KICA0NCA3MyA0MSA0OSA0MSA0MiA1MSA0MSA0
NSA1OSA0MSA1MCA1MSA0MSA3NyA0MSBEc0FJQUJRQUVZQVBRQXdBDQogIDQxIDMwIDQxIDQzIDY3
IDQxIDRlIDQxIDQxIDZmIDQxIDBkIDBhIDQzIDZmIDZlIEEwQUNnQU5BQW9BLi5Db24NCiAgNzQg
NjUgNmUgNzQgMmQgNGMgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzEgMzAgMGQgdGVudC1MZW5ndGg6
IDEwLg0KICAwYSAwZCAwYSA2OCA2NSA2ZiA3NyA2NCA3OSAyMCA3NCA2ZiA2ZCAgICAgICAgICAu
Li5oZW93ZHkgdG9tICAgDQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzM6NTkgYWNj
ZXNzY3RsLmM6NTUgZGVueSAgbGlzdCAoU0lQKTpOVUxMDQoxNjozMzo1OSBhY2Nlc3NjdGwuYzo1
NyBhbGxvdyBsaXN0IChTSVApOk5VTEwNCjE2OjMzOjU5IGFjY2Vzc2N0bC5jOjU5IGFsbG93IGxp
c3QgKFJFRyk6TlVMTA0KMTY6MzM6NTkgc2lwcm94ZC5jOjIxOCByZWNlaXZlZCBTSVAgdHlwZSBS
RVE6TUVTU0FHRQ0KMTY6MzM6NTkgcHJveHkuYzo3MSBwcm94eV9yZXF1ZXN0DQoxNjozMzo1OSB1
dGlscy5jOjMyNSBjb21wYXJpbmcgdXJsczogdG9tQGJ1Z2xlLmNjaS5uZXQgLT4gYm9iQGNjaXNh
ZmUuY2NpLm5ldA0KMTY6MzM6NTkgdXRpbHMuYzozMjUgY29tcGFyaW5nIHVybHM6IGJvYkBjY2lz
YWZlLmNjaS5uZXQgLT4gYm9iQGNjaXNhZmUuY2NpLm5ldA0KMTY6MzM6NTkgcHJveHkuYzo5OSBv
dXRnb2luZyByZXF1ZXN0IGZyb20gYm9iQGNjaXNhZmUuY2NpLm5ldCBmcm9tIGluYm91bmQNCjE2
OjMzOjU5IHV0aWxzLmM6NDUxIGNoZWNrIGZvciBsb2NhbCBTSVAgVVJJIGJ1Z2xlLmNjaS5uZXQ6
KG51bGwpDQoxNjozMzo1OSB1dGlscy5jOjIzNSBETlMgbG9va3VwIC0gZnJvbSBjYWNoZTogYnVn
bGUuY2NpLm5ldCAtPiAyMDQuNTcuMTQyLjE4DQoxNjozMzo1OSB1dGlscy5jOjQ2NiByZXNvbHZp
bmcgSVAgb2YgaW50ZXJmYWNlIGV0aDENCjE2OjMzOjU5IHV0aWxzLmM6NDI3IGdldF9pcF9ieV9p
Zm5hbWU6IGludGVyZmFjZSBldGgxIGhhcyBJUDogMTAuMTAuMTAuMTANCjE2OjMzOjU5IHV0aWxz
LmM6NDY2IHJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMA0KMTY6MzM6NTkgdXRpbHMuYzo0
MjcgZ2V0X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDAgaGFzIElQOiAyMDQuNTcuMTQyLjMN
CjE2OjMzOjU5IHV0aWxzLmM6NDgzIFNJUCBVUkkgaXMgbm90IGxvY2FsDQoxNjozMzo1OSBXQVJO
SU5HOnV0aWxzLmM6MzExIGNvbXBhcmVfdXJsOiBOVUxMIHVzZXJuYW1lIHBvaW50ZXI6IE1TTiBt
ZXNzZW5nZXIgaXMga25vd24gdG8gdHJpZ2dlciB0aGlzIG9uZSEgW3VybDEtPnVzZXJuYW1lPTB4
KG5pbCksIHVybDItPnVzZXJuYW1lPTB4KG5pbCldDQoxNjozMzo1OSB1dGlscy5jOjMxMyBjb21w
YXJpbmcgYnJva2VuIHVybHMgKG5vIHVzZXIpOiAxMC4xMC4xMC4xMTUgLT4gMTAuMTAuMTAuMTE1
DQoxNjozMzo1OSBwcm94eS5jOjE5MyByZXdyb3RlIENvbnRhY3QgaGVhZGVyICpOVUxMKkAxMC4x
MC4xMC4xMTUgLT4gYm9iQGNjaXNhZmUuY2NpLm5ldA0KMTY6MzM6NTkgdXRpbHMuYzo0MjcgZ2V0
X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDAgaGFzIElQOiAyMDQuNTcuMTQyLjMNCjE2OjMz
OjU5IHByb3h5LmM6NTM2IGFkZGluZyBWSUE6U0lQLzIuMC9VRFAgMjA0LjU3LjE0Mi4zOjUwNjAN
CjE2OjMzOjU5IHV0aWxzLmM6MjM1IEROUyBsb29rdXAgLSBmcm9tIGNhY2hlOiBidWdsZS5jY2ku
bmV0IC0+IDIwNC41Ny4xNDIuMTgNCjE2OjMzOjU5IHNvY2suYzoxNDAgc2VuZCBVRFAgcGFja2V0
IHRvIDIwNC41Ny4xNDIuMTg6IDUwNjANCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAgNGQg
NDUgNTMgNTMgNDEgNDcgNDUgMjAgNzMgNjkgNzAgM2EgNzQgNmYgNmQgNDAgTUVTU0FHRSBzaXA6
dG9tQA0KICA2MiA3NSA2NyA2YyA2NSAyZSA2MyA2MyA2OSAyZSA2ZSA2NSA3NCAyMCA1MyA0OSBi
dWdsZS5jY2kubmV0IFNJDQogIDUwIDJmIDMyIDJlIDMwIDBkIDBhIDU2IDY5IDYxIDNhIDIwIDUz
IDQ5IDUwIDJmIFAvMi4wLi5WaWE6IFNJUC8NCiAgMzIgMmUgMzAgMmYgNTUgNDQgNTAgMjAgMzIg
MzAgMzQgMmUgMzUgMzcgMmUgMzEgMi4wL1VEUCAyMDQuNTcuMQ0KICAzNCAzMiAyZSAzMyAzYSAz
NSAzMCAzNiAzMCAwZCAwYSA1NiA2OSA2MSAzYSAyMCA0Mi4zOjUwNjAuLlZpYTogDQogIDUzIDQ5
IDUwIDJmIDMyIDJlIDMwIDJmIDU1IDQ0IDUwIDIwIDMxIDMwIDJlIDMxIFNJUC8yLjAvVURQIDEw
LjENCiAgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgM2EgMzEgMzMgMzQgMzEgMzUgMGQgMGEgMC4x
MC4xMTU6MTM0MTUuLg0KICA0NiA3MiA2ZiA2ZCAzYSAyMCAyMiA2MiA2ZiA2MiAyMiAyMCAzYyA3
MyA2OSA3MCBGcm9tOiAiYm9iIiA8c2lwDQogIDNhIDYyIDZmIDYyIDQwIDYzIDYzIDY5IDczIDYx
IDY2IDY1IDJlIDYzIDYzIDY5IDpib2JAY2Npc2FmZS5jY2kNCiAgMmUgNmUgNjUgNzQgM2UgM2Ig
NzQgNjEgNjcgM2QgMzEgNjMgMzUgNjIgMzAgMzcgLm5ldD47dGFnPTFjNWIwNw0KICAzOCAzNyAy
ZCA2MSAzMCAzOCAzNCAyZCAzNCA2NSA2MSAzMyAyZCA2MSAzNiA2NiA4Ny1hMDg0LTRlYTMtYTZm
DQogIDYxIDJkIDM3IDM2IDM2IDY1IDYzIDYyIDMzIDYzIDMxIDYyIDYyIDM5IDBkIDBhIGEtNzY2
ZWNiM2MxYmI5Li4NCiAgNTQgNmYgM2EgMjAgM2MgNzMgNjkgNzAgM2EgNzQgNmYgNmQgNDAgNjIg
NzUgNjcgVG86IDxzaXA6dG9tQGJ1Zw0KICA2YyA2NSAyZSA2MyA2MyA2OSAyZSA2ZSA2NSA3NCAz
ZSAwZCAwYSA0MyA2MSA2YyBsZS5jY2kubmV0Pi4uQ2FsDQogIDZjIDJkIDQ5IDQ0IDNhIDIwIDM2
IDYyIDY2IDMwIDMyIDMyIDMxIDY2IDJkIDMyIGwtSUQ6IDZiZjAyMjFmLTINCiAgNjQgMzAgMzAg
MmQgMzQgMzYgMzkgMzMgMmQgNjIgNjQgNjQgMzggMmQgMzMgMzUgZDAwLTQ2OTMtYmRkOC0zNQ0K
ICAzNCAzMCA2NCA2MiAzOSAzMCAzNCAzNSA2NSAzMSA0MCAzMSAzMCAyZSAzMSAzMCA0MGRiOTA0
NWUxQDEwLjEwDQogIDJlIDMxIDMwIDJlIDMxIDMxIDM1IDBkIDBhIDQzIDUzIDY1IDcxIDNhIDIw
IDMxIC4xMC4xMTUuLkNTZXE6IDENCiAgMjAgNGQgNDUgNTMgNTMgNDEgNDcgNDUgMGQgMGEgNDMg
NmYgNmUgNzQgNjEgNjMgIE1FU1NBR0UuLkNvbnRhYw0KICA3NCAzYSAyMCAzYyA3MyA2OSA3MCAz
YSA2MiA2ZiA2MiA0MCA2MyA2MyA2OSA3MyB0OiA8c2lwOmJvYkBjY2lzDQogIDYxIDY2IDY1IDJl
IDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIDBkIDBhIDc1IDczIGFmZS5jY2kubmV0Pi4udXMNCiAg
NjUgNzIgMmQgNjEgNjcgNjUgNmUgNzQgM2EgMjAgNTcgNjkgNmUgNjQgNmYgNzcgZXItYWdlbnQ6
IFdpbmRvdw0KICA3MyAyMCA1MiA1NCA0MyAyZiAzMSAyZSAzMCAwZCAwYSA0MyA2ZiA2ZSA3NCA2
NSBzIFJUQy8xLjAuLkNvbnRlDQogIDZlIDc0IDJkIDU0IDc5IDcwIDY1IDNhIDIwIDc0IDY1IDc4
IDc0IDJmIDcwIDZjIG50LVR5cGU6IHRleHQvcGwNCiAgNjEgNjkgNmUgMjAgM2IgNjMgNjggNjEg
NzIgNzMgNjUgNzQgM2QgNTUgNTQgNDYgYWluIDtjaGFyc2V0PVVURg0KICAyZCAzOCAzYiA2ZCA3
MyA2NyA3MiAzZCA1NyA0MSA0MSA3NCA0MSA0NSAzMCA0MSAtODttc2dyPVdBQXRBRTBBDQogIDU0
IDUxIDQyIDU0IDQxIDQzIDMwIDQxIDUzIDUxIDQyIDRlIDQxIDQzIDMwIDQxIFRRQlRBQzBBU1FC
TkFDMEENCiAgNTIgNjcgNDIgNzYgNDEgNDggNDkgNDEgNjIgNTEgNDIgNjggNDEgNDggNTEgNDEg
UmdCdkFISUFiUUJoQUhRQQ0KICA0ZiA2NyA0MSA2NyA0MSA0NSA1OSA0MSA1NCA2NyA0MSAzOSA0
MSA0NSAzMCA0MSBPZ0FnQUVZQVRnQTlBRTBBDQogIDU1IDc3IDQxIDZjIDQxIDQ0IDQ5IDQxIDRk
IDQxIDQyIDU0IDQxIDQ3IDY3IDQxIFV3QWxBRElBTUFCVEFHZ0ENCiAgNWEgNTEgNDIgNzMgNDEg
NDcgNzcgNDEgNGEgNTEgNDEgNzkgNDEgNDQgNDEgNDEgWlFCc0FHd0FKUUF5QURBQQ0KICA1MiA0
MSA0MiA3MyA0MSA0NyA2MyA0MSA0ZiA3NyA0MSA2NyA0MSA0NSA1NSA0MSBSQUJzQUdjQU93QWdB
RVVBDQogIDUyIDY3IDQxIDM5IDQxIDQ0IDczIDQxIDQ5IDQxIDQyIDQ0IDQxIDQ1IDM4IDQxIFJn
QTlBRHNBSUFCREFFOEENCiAgNTAgNTEgNDEgNzcgNDEgNDQgNzMgNDEgNDkgNDEgNDIgNDQgNDEg
NDYgNGQgNDEgUFFBd0FEc0FJQUJEQUZNQQ0KICA1MCA1MSA0MSA3NyA0MSA0NCA3MyA0MSA0OSA0
MSA0MiA1MSA0MSA0NSA1OSA0MSBQUUF3QURzQUlBQlFBRVlBDQogIDUwIDUxIDQxIDc3IDQxIDQx
IDMwIDQxIDQzIDY3IDQxIDRlIDQxIDQxIDZmIDQxIFBRQXdBQTBBQ2dBTkFBb0ENCiAgMGQgMGEg
NDMgNmYgNmUgNzQgNjUgNmUgNzQgMmQgNGMgNjUgNmUgNjcgNzQgNjggLi5Db250ZW50LUxlbmd0
aA0KICAzYSAyMCAzMSAzMCAyMCAyMCAyMCAwZCAwYSAwZCAwYSA2OCA2NSA2ZiA3NyA2NCA6IDEw
ICAgLi4uLmhlb3dkDQogIDc5IDIwIDc0IDZmIDZkICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHkgdG9tICAgICAgICAgICANCg0KLS0tZW5kIG9mIEJVRkZFUiBEVU1QLS0tDQoxNjoz
Mzo1OSBzaXByb3hkLmM6MTgzIGdvaW5nIGludG8gc2lwX3dhaXQNCg0KMTY6MzM6NTkgc2lwcm94
ZC5jOjE5MCBiYWNrIGZyb20gc2lwX3dhaXQNCjE2OjMzOjU5IHNvY2suYzoxMDQgcmVjZWl2ZWQg
VURQIHBhY2tldCBmcm9tIDIwNC41Ny4xNDIuMTgsIGNvdW50PTQwMg0KLS0tQlVGRkVSIERVTVAg
Zm9sbG93cy0tLQ0KICA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyMCAzMiAzMCAzMCAyMCA0ZiA0YiAw
ZCAwYSBTSVAvMi4wIDIwMCBPSy4uDQogIDU2IDY5IDYxIDNhIDIwIDUzIDQ5IDUwIDJmIDMyIDJl
IDMwIDJmIDU1IDQ0IDUwIFZpYTogU0lQLzIuMC9VRFANCiAgMjAgMzIgMzAgMzQgMmUgMzUgMzcg
MmUgMzEgMzQgMzIgMmUgMzMgM2EgMzUgMzAgIDIwNC41Ny4xNDIuMzo1MA0KICAzNiAzMCAwZCAw
YSA1NiA2OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCA2MC4uVmlhOiBTSVAvMi4wDQog
IDJmIDU1IDQ0IDUwIDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMxIC9VRFAgMTAu
MTAuMTAuMTENCiAgMzUgM2EgMzEgMzMgMzQgMzEgMzUgMGQgMGEgNDYgNzIgNmYgNmQgM2EgMjAg
MjIgNToxMzQxNS4uRnJvbTogIg0KICA2MiA2ZiA2MiAyMiAyMCAzYyA3MyA2OSA3MCAzYSA2MiA2
ZiA2MiA0MCA2MyA2MyBib2IiIDxzaXA6Ym9iQGNjDQogIDY5IDczIDYxIDY2IDY1IDJlIDYzIDYz
IDY5IDJlIDZlIDY1IDc0IDNlIDNiIDc0IGlzYWZlLmNjaS5uZXQ+O3QNCiAgNjEgNjcgM2QgMzEg
NjMgMzUgNjIgMzAgMzcgMzggMzcgMmQgNjEgMzAgMzggMzQgYWc9MWM1YjA3ODctYTA4NA0KICAy
ZCAzNCA2NSA2MSAzMyAyZCA2MSAzNiA2NiA2MSAyZCAzNyAzNiAzNiA2NSA2MyAtNGVhMy1hNmZh
LTc2NmVjDQogIDYyIDMzIDYzIDMxIDYyIDYyIDM5IDBkIDBhIDU0IDZmIDNhIDIwIDNjIDczIDY5
IGIzYzFiYjkuLlRvOiA8c2kNCiAgNzAgM2EgNzQgNmYgNmQgNDAgNjIgNzUgNjcgNmMgNjUgMmUg
NjMgNjMgNjkgMmUgcDp0b21AYnVnbGUuY2NpLg0KICA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAz
ZCA2MiAzNiA2NiAzNyAzNSA2MyA2NCBuZXQ+O3RhZz1iNmY3NWNkDQogIDM2IDJkIDM1IDY1IDMw
IDM5IDJkIDMxIDMxIDY0IDM3IDJkIDM4IDM4IDY1IDMzIDYtNWUwOS0xMWQ3LTg4ZTMNCiAgMmQg
MzAgMzAgNjEgMzAgNjMgNjMgMzQgMzEgMzAgMzIgMzIgNjMgMGQgMGEgNDMgLTAwYTBjYzQxMDIy
Yy4uQw0KICA2MSA2YyA2YyAyZCA0OSA0NCAzYSAyMCAzNiA2MiA2NiAzMCAzMiAzMiAzMSA2NiBh
bGwtSUQ6IDZiZjAyMjFmDQogIDJkIDMyIDY0IDMwIDMwIDJkIDM0IDM2IDM5IDMzIDJkIDYyIDY0
IDY0IDM4IDJkIC0yZDAwLTQ2OTMtYmRkOC0NCiAgMzMgMzUgMzQgMzAgNjQgNjIgMzkgMzAgMzQg
MzUgNjUgMzEgNDAgMzEgMzAgMmUgMzU0MGRiOTA0NWUxQDEwLg0KICAzMSAzMCAyZSAzMSAzMCAy
ZSAzMSAzMSAzNSAwZCAwYSA0MyA1MyA2NSA3MSAzYSAxMC4xMC4xMTUuLkNTZXE6DQogIDIwIDMx
IDIwIDRkIDQ1IDUzIDUzIDQxIDQ3IDQ1IDBkIDBhIDQzIDZmIDZlIDc0ICAxIE1FU1NBR0UuLkNv
bnQNCiAgNjEgNjMgNzQgM2EgMjAgM2MgNzMgNjkgNzAgM2EgMzIgMzAgMzQgMmUgMzUgMzcgYWN0
OiA8c2lwOjIwNC41Nw0KICAyZSAzMSAzNCAzMiAyZSAzMSAzMyAzNCAzYSAzNyAzMiAzOCAzNSAz
ZSAwZCAwYSAuMTQyLjEzNDo3Mjg1Pi4uDQogIDU1IDczIDY1IDcyIDJkIDQxIDY3IDY1IDZlIDc0
IDNhIDIwIDU3IDY5IDZlIDY0IFVzZXItQWdlbnQ6IFdpbmQNCiAgNmYgNzcgNzMgMjAgNTIgNTQg
NDMgMmYgMzEgMmUgMzAgMGQgMGEgNDMgNmYgNmUgb3dzIFJUQy8xLjAuLkNvbg0KICA3NCA2NSA2
ZSA3NCAyZCA0YyA2NSA2ZSA2NyA3NCA2OCAzYSAyMCAzMCAwZCAwYSB0ZW50LUxlbmd0aDogMC4u
DQogIDBkIDBhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uICAg
ICAgICAgICAgICANCg0KLS0tZW5kIG9mIEJVRkZFUiBEVU1QLS0tDQoxNjozMzo1OSBhY2Nlc3Nj
dGwuYzo1NSBkZW55ICBsaXN0IChTSVApOk5VTEwNCjE2OjMzOjU5IGFjY2Vzc2N0bC5jOjU3IGFs
bG93IGxpc3QgKFNJUCk6TlVMTA0KMTY6MzM6NTkgYWNjZXNzY3RsLmM6NTkgYWxsb3cgbGlzdCAo
UkVHKTpOVUxMDQoxNjozMzo1OSBzaXByb3hkLmM6MjE4IHJlY2VpdmVkIFNJUCB0eXBlIFJFUzpO
VUxMDQoxNjozMzo1OSBwcm94eS5jOjMxMCBwcm94eV9yZXNwb25zZQ0KMTY6MzM6NTkgdXRpbHMu
YzoxNDUgdmlhIG5hbWUgMTAuMTAuMTAuMTE1DQoxNjozMzo1OSB1dGlscy5jOjE2MCByZXNvbHZp
bmcgSVAgb2YgaW50ZXJmYWNlIGV0aDENCjE2OjMzOjU5IHV0aWxzLmM6NDI3IGdldF9pcF9ieV9p
Zm5hbWU6IGludGVyZmFjZSBldGgxIGhhcyBJUDogMTAuMTAuMTAuMTANCjE2OjMzOjU5IHV0aWxz
LmM6MTYwIHJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMA0KMTY6MzM6NTkgdXRpbHMuYzo0
MjcgZ2V0X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDAgaGFzIElQOiAyMDQuNTcuMTQyLjMN
CjE2OjMzOjU5IHByb3h5LmM6NTYxIGRlbGV0aW5nIHRvcG1vc3QgVklBDQoxNjozMzo1OSB1dGls
cy5jOjE0NSB2aWEgbmFtZSAyMDQuNTcuMTQyLjMNCjE2OjMzOjU5IHV0aWxzLmM6MTYwIHJlc29s
dmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMQ0KMTY6MzM6NTkgdXRpbHMuYzo0MjcgZ2V0X2lwX2J5
X2lmbmFtZTogaW50ZXJmYWNlIGV0aDEgaGFzIElQOiAxMC4xMC4xMC4xMA0KMTY6MzM6NTkgdXRp
bHMuYzoxNjAgcmVzb2x2aW5nIElQIG9mIGludGVyZmFjZSBldGgwDQoxNjozMzo1OSB1dGlscy5j
OjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBpbnRlcmZhY2UgZXRoMCBoYXMgSVA6IDIwNC41Ny4xNDIu
Mw0KMTY6MzM6NTkgdXRpbHMuYzoxNzEgYWRkcmVzcyBtYXRjaCBbMjA0LjU3LjE0Mi4zXSA8LT4g
WzIwNC41Ny4xNDIuM10NCjE2OjMzOjU5IHV0aWxzLmM6MzI1IGNvbXBhcmluZyB1cmxzOiBib2JA
Y2Npc2FmZS5jY2kubmV0IC0+IGJvYkBjY2lzYWZlLmNjaS5uZXQNCjE2OjMzOjU5IHByb3h5LmM6
MzQ5IGluY29taW5nIHJlc3BvbnNlIGZvciBib2JAY2Npc2FmZS5jY2kubmV0IGZyb20gb3V0Ym91
bmQNCjE2OjMzOjU5IHV0aWxzLmM6MjM1IEROUyBsb29rdXAgLSBmcm9tIGNhY2hlOiAxMC4xMC4x
MC4xMTUgLT4gMTAuMTAuMTAuMTE1DQoxNjozMzo1OSBzb2NrLmM6MTQwIHNlbmQgVURQIHBhY2tl
dCB0byAxMC4xMC4xMC4xMTU6IDEzNDE1DQotLS1CVUZGRVIgRFVNUCBmb2xsb3dzLS0tDQogIDUz
IDQ5IDUwIDJmIDMyIDJlIDMwIDIwIDMyIDMwIDMwIDIwIDRmIDRiIDBkIDBhIFNJUC8yLjAgMjAw
IE9LLi4NCiAgNTYgNjkgNjEgM2EgMjAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMmYgNTUgNDQgNTAg
VmlhOiBTSVAvMi4wL1VEUA0KICAyMCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAz
NSAzYSAzMSAzMyAgMTAuMTAuMTAuMTE1OjEzDQogIDM0IDMxIDM1IDBkIDBhIDQ2IDcyIDZmIDZk
IDNhIDIwIDIyIDYyIDZmIDYyIDIyIDQxNS4uRnJvbTogImJvYiINCiAgMjAgM2MgNzMgNjkgNzAg
M2EgNjIgNmYgNjIgNDAgNjMgNjMgNjkgNzMgNjEgNjYgIDxzaXA6Ym9iQGNjaXNhZg0KICA2NSAy
ZSA2MyA2MyA2OSAyZSA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCAzMSBlLmNjaS5uZXQ+O3Rh
Zz0xDQogIDYzIDM1IDYyIDMwIDM3IDM4IDM3IDJkIDYxIDMwIDM4IDM0IDJkIDM0IDY1IDYxIGM1
YjA3ODctYTA4NC00ZWENCiAgMzMgMmQgNjEgMzYgNjYgNjEgMmQgMzcgMzYgMzYgNjUgNjMgNjIg
MzMgNjMgMzEgMy1hNmZhLTc2NmVjYjNjMQ0KICA2MiA2MiAzOSAwZCAwYSA1NCA2ZiAzYSAyMCAz
YyA3MyA2OSA3MCAzYSA3NCA2ZiBiYjkuLlRvOiA8c2lwOnRvDQogIDZkIDQwIDYyIDc1IDY3IDZj
IDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIG1AYnVnbGUuY2NpLm5ldD4NCiAgM2IgNzQg
NjEgNjcgM2QgNjIgMzYgNjYgMzcgMzUgNjMgNjQgMzYgMmQgMzUgNjUgO3RhZz1iNmY3NWNkNi01
ZQ0KICAzMCAzOSAyZCAzMSAzMSA2NCAzNyAyZCAzOCAzOCA2NSAzMyAyZCAzMCAzMCA2MSAwOS0x
MWQ3LTg4ZTMtMDBhDQogIDMwIDYzIDYzIDM0IDMxIDMwIDMyIDMyIDYzIDBkIDBhIDQzIDYxIDZj
IDZjIDJkIDBjYzQxMDIyYy4uQ2FsbC0NCiAgNDkgNDQgM2EgMjAgMzYgNjIgNjYgMzAgMzIgMzIg
MzEgNjYgMmQgMzIgNjQgMzAgSUQ6IDZiZjAyMjFmLTJkMA0KICAzMCAyZCAzNCAzNiAzOSAzMyAy
ZCA2MiA2NCA2NCAzOCAyZCAzMyAzNSAzNCAzMCAwLTQ2OTMtYmRkOC0zNTQwDQogIDY0IDYyIDM5
IDMwIDM0IDM1IDY1IDMxIDQwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIGRiOTA0NWUxQDEwLjEwLjEN
CiAgMzAgMmUgMzEgMzEgMzUgMGQgMGEgNDMgNTMgNjUgNzEgM2EgMjAgMzEgMjAgNGQgMC4xMTUu
LkNTZXE6IDEgTQ0KICA0NSA1MyA1MyA0MSA0NyA0NSAwZCAwYSA0MyA2ZiA2ZSA3NCA2MSA2MyA3
NCAzYSBFU1NBR0UuLkNvbnRhY3Q6DQogIDIwIDNjIDczIDY5IDcwIDNhIDMyIDMwIDM0IDJlIDM1
IDM3IDJlIDMxIDM0IDMyICA8c2lwOjIwNC41Ny4xNDINCiAgMmUgMzEgMzMgMzQgM2EgMzcgMzIg
MzggMzUgM2UgMGQgMGEgNzUgNzMgNjUgNzIgLjEzNDo3Mjg1Pi4udXNlcg0KICAyZCA2MSA2NyA2
NSA2ZSA3NCAzYSAyMCA1NyA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCAtYWdlbnQ6IFdpbmRvd3MgDQog
IDUyIDU0IDQzIDJmIDMxIDJlIDMwIDBkIDBhIDQzIDZmIDZlIDc0IDY1IDZlIDc0IFJUQy8xLjAu
LkNvbnRlbnQNCiAgMmQgNGMgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzAgMGQgMGEgMGQgMGEgICAg
ICAgLUxlbmd0aDogMC4uLi4gIA0KDQotLS1lbmQgb2YgQlVGRkVSIERVTVAtLS0NCjE2OjMzOjU5
IHNpcHJveGQuYzoxODMgZ29pbmcgaW50byBzaXBfd2FpdA0KDQoxNjozNDowNCByZWdpc3Rlci5j
OjIxNyBzaXBfYWdlbWFwLCB0PTEwNDg1NTI0NDQNCjE2OjM0OjA5IHJlZ2lzdGVyLmM6MjE3IHNp
cF9hZ2VtYXAsIHQ9MTA0ODU1MjQ0OQ0KMTY6MzQ6MTQgcmVnaXN0ZXIuYzoyMTcgc2lwX2FnZW1h
cCwgdD0xMDQ4NTUyNDU0DQoxNjozNDoxOSByZWdpc3Rlci5jOjIxNyBzaXBfYWdlbWFwLCB0PTEw
NDg1NTI0NTkNCjE2OjM0OjI0IHJlZ2lzdGVyLmM6MjE3IHNpcF9hZ2VtYXAsIHQ9MTA0ODU1MjQ2
NA0KMTY6MzQ6MjkgcmVnaXN0ZXIuYzoyMTcgc2lwX2FnZW1hcCwgdD0xMDQ4NTUyNDY5DQoxNjoz
NDozNCByZWdpc3Rlci5jOjIxNyBzaXBfYWdlbWFwLCB0PTEwNDg1NTI0NzQNCjE2OjM0OjM5IHJl
Z2lzdGVyLmM6MjE3IHNpcF9hZ2VtYXAsIHQ9MTA0ODU1MjQ3OQ0KMTY6MzQ6NDQgcmVnaXN0ZXIu
YzoyMTcgc2lwX2FnZW1hcCwgdD0xMDQ4NTUyNDg0DQoxNjozNDo0OCBzaXByb3hkLmM6MTkwIGJh
Y2sgZnJvbSBzaXBfd2FpdA0KMTY6MzQ6NDggc29jay5jOjEwNCByZWNlaXZlZCBVRFAgcGFja2V0
IGZyb20gMTAuMTAuMTAuMTE1LCBjb3VudD00MDQNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0N
CiAgNTMgNTUgNDIgNTMgNDMgNTIgNDkgNDIgNDUgMjAgNzMgNjkgNzAgM2EgNzQgNmYgU1VCU0NS
SUJFIHNpcDp0bw0KICA2ZCA0MCA2MiA3NSA2NyA2YyA2NSAyZSA2MyA2MyA2OSAyZSA2ZSA2NSA3
NCAyMCBtQGJ1Z2xlLmNjaS5uZXQgDQogIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDBkIDBhIDU2IDY5
IDYxIDNhIDIwIDUzIDQ5IFNJUC8yLjAuLlZpYTogU0kNCiAgNTAgMmYgMzIgMmUgMzAgMmYgNTUg
NDQgNTAgMjAgMzEgMzAgMmUgMzEgMzAgMmUgUC8yLjAvVURQIDEwLjEwLg0KICAzMSAzMCAyZSAz
MSAzMSAzNSAzYSAzMSAzMyAzNCAzMSAzNSAwZCAwYSA0NiA3MiAxMC4xMTU6MTM0MTUuLkZyDQog
IDZmIDZkIDNhIDIwIDIyIDYyIDZmIDYyIDIyIDIwIDNjIDczIDY5IDcwIDNhIDYyIG9tOiAiYm9i
IiA8c2lwOmINCiAgNmYgNjIgNDAgNjMgNjMgNjkgNzMgNjEgNjYgNjUgMmUgNjMgNjMgNjkgMmUg
NmUgb2JAY2Npc2FmZS5jY2kubg0KICA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCAzNiAzOCAzMiAz
NyAzNyAzNSA2MyAzOSBldD47dGFnPTY4Mjc3NWM5DQogIDJkIDMyIDM2IDM5IDM4IDJkIDM0IDYy
IDY0IDY1IDJkIDM4IDMyIDY1IDYzIDJkIC0yNjk4LTRiZGUtODJlYy0NCiAgNjYgNjYgMzkgMzQg
NjMgNjUgMzYgMzYgNjIgMzkgNjYgNjEgMGQgMGEgNTQgNmYgZmY5NGNlNjZiOWZhLi5Ubw0KICAz
YSAyMCAzYyA3MyA2OSA3MCAzYSA3NCA2ZiA2ZCA0MCA2MiA3NSA2NyA2YyA2NSA6IDxzaXA6dG9t
QGJ1Z2xlDQogIDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIDNiIDc0IDYxIDY3IDNkIDYyIDM2
IC5jY2kubmV0Pjt0YWc9YjYNCiAgNjYgMzcgMzUgNjMgNjQgMzUgMmQgMzUgNjUgMzAgMzkgMmQg
MzEgMzEgNjQgMzcgZjc1Y2Q1LTVlMDktMTFkNw0KICAyZCAzOCAzOCA2NSAzMyAyZCAzMCAzMCA2
MSAzMCA2MyA2MyAzNCAzMSAzMCAzMiAtODhlMy0wMGEwY2M0MTAyDQogIDMyIDYzIDBkIDBhIDQz
IDYxIDZjIDZjIDJkIDQ5IDQ0IDNhIDIwIDYzIDMzIDM3IDJjLi5DYWxsLUlEOiBjMzcNCiAgMzgg
MzAgMzkgMzMgMzcgMmQgMzMgNjMgNjQgMzggMmQgMzQgMzggMzggMzggMmQgODA5MzctM2NkOC00
ODg4LQ0KICA2MiAzMiAzNCAzMCAyZCAzNiA2NSAzMiAzMSA2NiAzOSA2MSAzNSAzNSAzNiAzOCBi
MjQwLTZlMjFmOWE1NTY4DQogIDMxIDQwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMx
IDM1IDBkIDBhIDFAMTAuMTAuMTAuMTE1Li4NCiAgNDMgNTMgNjUgNzEgM2EgMjAgMzIgMjAgNTMg
NTUgNDIgNTMgNDMgNTIgNDkgNDIgQ1NlcTogMiBTVUJTQ1JJQg0KICA0NSAwZCAwYSA0MyA2ZiA2
ZSA3NCA2MSA2MyA3NCAzYSAyMCAzYyA3MyA2OSA3MCBFLi5Db250YWN0OiA8c2lwDQogIDNhIDMx
IDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMxIDM1IDNhIDMxIDMzIDoxMC4xMC4xMC4xMTU6
MTMNCiAgMzQgMzEgMzUgM2UgMGQgMGEgNTUgNzMgNjUgNzIgMmQgNDEgNjcgNjUgNmUgNzQgNDE1
Pi4uVXNlci1BZ2VudA0KICAzYSAyMCA1NyA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCA1MiA1NCA0MyAy
ZiAzMSAyZSA6IFdpbmRvd3MgUlRDLzEuDQogIDMwIDBkIDBhIDQ1IDc4IDcwIDY5IDcyIDY1IDcz
IDNhIDIwIDMwIDBkIDBhIDQzIDAuLkV4cGlyZXM6IDAuLkMNCiAgNmYgNmUgNzQgNjUgNmUgNzQg
MmQgNGMgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzAgb250ZW50LUxlbmd0aDogMA0KICAwZCAwYSAw
ZCAwYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4uICAgICAgICAgICAg
DQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzQ6NDggYWNjZXNzY3RsLmM6NTUgZGVu
eSAgbGlzdCAoU0lQKTpOVUxMDQoxNjozNDo0OCBhY2Nlc3NjdGwuYzo1NyBhbGxvdyBsaXN0IChT
SVApOk5VTEwNCjE2OjM0OjQ4IGFjY2Vzc2N0bC5jOjU5IGFsbG93IGxpc3QgKFJFRyk6TlVMTA0K
MTY6MzQ6NDggc2lwcm94ZC5jOjIxOCByZWNlaXZlZCBTSVAgdHlwZSBSRVE6U1VCU0NSSUJFDQox
NjozNDo0OCBwcm94eS5jOjcxIHByb3h5X3JlcXVlc3QNCjE2OjM0OjQ4IHV0aWxzLmM6MzI1IGNv
bXBhcmluZyB1cmxzOiB0b21AYnVnbGUuY2NpLm5ldCAtPiBib2JAY2Npc2FmZS5jY2kubmV0DQox
NjozNDo0OCB1dGlscy5jOjMyNSBjb21wYXJpbmcgdXJsczogYm9iQGNjaXNhZmUuY2NpLm5ldCAt
PiBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozNDo0OCBwcm94eS5jOjk5IG91dGdvaW5nIHJlcXVl
c3QgZnJvbSBib2JAY2Npc2FmZS5jY2kubmV0IGZyb20gaW5ib3VuZA0KMTY6MzQ6NDggdXRpbHMu
Yzo0NTEgY2hlY2sgZm9yIGxvY2FsIFNJUCBVUkkgYnVnbGUuY2NpLm5ldDoobnVsbCkNCjE2OjM0
OjQ4IHV0aWxzLmM6MjIyIGNsZWFuaW5nIEROUyBjYWNoZSAoZW50cnkgMCkNCjE2OjM0OjQ4IHV0
aWxzLmM6MjIyIGNsZWFuaW5nIEROUyBjYWNoZSAoZW50cnkgMSkNCjE2OjM0OjQ4IHV0aWxzLmM6
MjIyIGNsZWFuaW5nIEROUyBjYWNoZSAoZW50cnkgMikNCjE2OjM0OjQ4IHV0aWxzLmM6MjU0IERO
UyBsb29rdXAgLSByZXNvbHZlZDogYnVnbGUuY2NpLm5ldCAtPiAyMDQuNTcuMTQyLjE4DQoxNjoz
NDo0OCB1dGlscy5jOjI3MyBETlMgbG9va3VwIC0gc3RvcmUgaW50byBjYWNoZSwgZW50cnkgMCkN
CjE2OjM0OjQ4IHV0aWxzLmM6NDY2IHJlc29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMQ0KMTY6
MzQ6NDggdXRpbHMuYzo0MjcgZ2V0X2lwX2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDEgaGFzIElQ
OiAxMC4xMC4xMC4xMA0KMTY6MzQ6NDggdXRpbHMuYzo0NjYgcmVzb2x2aW5nIElQIG9mIGludGVy
ZmFjZSBldGgwDQoxNjozNDo0OCB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBpbnRlcmZh
Y2UgZXRoMCBoYXMgSVA6IDIwNC41Ny4xNDIuMw0KMTY6MzQ6NDggdXRpbHMuYzo0ODMgU0lQIFVS
SSBpcyBub3QgbG9jYWwNCjE2OjM0OjQ4IFdBUk5JTkc6dXRpbHMuYzozMTEgY29tcGFyZV91cmw6
IE5VTEwgdXNlcm5hbWUgcG9pbnRlcjogTVNOIG1lc3NlbmdlciBpcyBrbm93biB0byB0cmlnZ2Vy
IHRoaXMgb25lISBbdXJsMS0+dXNlcm5hbWU9MHgobmlsKSwgdXJsMi0+dXNlcm5hbWU9MHgobmls
KV0NCjE2OjM0OjQ4IHV0aWxzLmM6MzEzIGNvbXBhcmluZyBicm9rZW4gdXJscyAobm8gdXNlcik6
IDEwLjEwLjEwLjExNSAtPiAxMC4xMC4xMC4xMTUNCjE2OjM0OjQ4IHByb3h5LmM6MTkzIHJld3Jv
dGUgQ29udGFjdCBoZWFkZXIgKk5VTEwqQDEwLjEwLjEwLjExNSAtPiBib2JAY2Npc2FmZS5jY2ku
bmV0DQoxNjozNDo0OCB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBpbnRlcmZhY2UgZXRo
MCBoYXMgSVA6IDIwNC41Ny4xNDIuMw0KMTY6MzQ6NDggcHJveHkuYzo1MzYgYWRkaW5nIFZJQTpT
SVAvMi4wL1VEUCAyMDQuNTcuMTQyLjM6NTA2MA0KMTY6MzQ6NDggdXRpbHMuYzoyMzUgRE5TIGxv
b2t1cCAtIGZyb20gY2FjaGU6IGJ1Z2xlLmNjaS5uZXQgLT4gMjA0LjU3LjE0Mi4xOA0KMTY6MzQ6
NDggc29jay5jOjE0MCBzZW5kIFVEUCBwYWNrZXQgdG8gMjA0LjU3LjE0Mi4xODogNTA2MA0KLS0t
QlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MyA1NSA0MiA1MyA0MyA1MiA0OSA0MiA0NSAyMCA3
MyA2OSA3MCAzYSA3NCA2ZiBTVUJTQ1JJQkUgc2lwOnRvDQogIDZkIDQwIDYyIDc1IDY3IDZjIDY1
IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDIwIG1AYnVnbGUuY2NpLm5ldCANCiAgNTMgNDkgNTAg
MmYgMzIgMmUgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAgNTMgNDkgU0lQLzIuMC4uVmlhOiBTSQ0K
ICA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCAyMCAzMiAzMCAzNCAyZSAzNSAzNyBQLzIuMC9V
RFAgMjA0LjU3DQogIDJlIDMxIDM0IDMyIDJlIDMzIDNhIDM1IDMwIDM2IDMwIDBkIDBhIDU2IDY5
IDYxIC4xNDIuMzo1MDYwLi5WaWENCiAgM2EgMjAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMmYgNTUg
NDQgNTAgMjAgMzEgMzAgOiBTSVAvMi4wL1VEUCAxMA0KICAyZSAzMSAzMCAyZSAzMSAzMCAyZSAz
MSAzMSAzNSAzYSAzMSAzMyAzNCAzMSAzNSAuMTAuMTAuMTE1OjEzNDE1DQogIDBkIDBhIDQ2IDcy
IDZmIDZkIDNhIDIwIDIyIDYyIDZmIDYyIDIyIDIwIDNjIDczIC4uRnJvbTogImJvYiIgPHMNCiAg
NjkgNzAgM2EgNjIgNmYgNjIgNDAgNjMgNjMgNjkgNzMgNjEgNjYgNjUgMmUgNjMgaXA6Ym9iQGNj
aXNhZmUuYw0KICA2MyA2OSAyZSA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCAzNiAzOCAzMiAz
NyBjaS5uZXQ+O3RhZz02ODI3DQogIDM3IDM1IDYzIDM5IDJkIDMyIDM2IDM5IDM4IDJkIDM0IDYy
IDY0IDY1IDJkIDM4IDc1YzktMjY5OC00YmRlLTgNCiAgMzIgNjUgNjMgMmQgNjYgNjYgMzkgMzQg
NjMgNjUgMzYgMzYgNjIgMzkgNjYgNjEgMmVjLWZmOTRjZTY2YjlmYQ0KICAwZCAwYSA1NCA2ZiAz
YSAyMCAzYyA3MyA2OSA3MCAzYSA3NCA2ZiA2ZCA0MCA2MiAuLlRvOiA8c2lwOnRvbUBiDQogIDc1
IDY3IDZjIDY1IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDNlIDNiIDc0IDYxIHVnbGUuY2NpLm5l
dD47dGENCiAgNjcgM2QgNjIgMzYgNjYgMzcgMzUgNjMgNjQgMzUgMmQgMzUgNjUgMzAgMzkgMmQg
Zz1iNmY3NWNkNS01ZTA5LQ0KICAzMSAzMSA2NCAzNyAyZCAzOCAzOCA2NSAzMyAyZCAzMCAzMCA2
MSAzMCA2MyA2MyAxMWQ3LTg4ZTMtMDBhMGNjDQogIDM0IDMxIDMwIDMyIDMyIDYzIDBkIDBhIDQz
IDYxIDZjIDZjIDJkIDQ5IDQ0IDNhIDQxMDIyYy4uQ2FsbC1JRDoNCiAgMjAgNjMgMzMgMzcgMzgg
MzAgMzkgMzMgMzcgMmQgMzMgNjMgNjQgMzggMmQgMzQgIGMzNzgwOTM3LTNjZDgtNA0KICAzOCAz
OCAzOCAyZCA2MiAzMiAzNCAzMCAyZCAzNiA2NSAzMiAzMSA2NiAzOSA2MSA4ODgtYjI0MC02ZTIx
ZjlhDQogIDM1IDM1IDM2IDM4IDMxIDQwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDU1
NjgxQDEwLjEwLjEwLjENCiAgMzEgMzUgMGQgMGEgNDMgNTMgNjUgNzEgM2EgMjAgMzIgMjAgNTMg
NTUgNDIgNTMgMTUuLkNTZXE6IDIgU1VCUw0KICA0MyA1MiA0OSA0MiA0NSAwZCAwYSA0MyA2ZiA2
ZSA3NCA2MSA2MyA3NCAzYSAyMCBDUklCRS4uQ29udGFjdDogDQogIDNjIDczIDY5IDcwIDNhIDYy
IDZmIDYyIDQwIDYzIDYzIDY5IDczIDYxIDY2IDY1IDxzaXA6Ym9iQGNjaXNhZmUNCiAgMmUgNjMg
NjMgNjkgMmUgNmUgNjUgNzQgM2UgMGQgMGEgNzUgNzMgNjUgNzIgMmQgLmNjaS5uZXQ+Li51c2Vy
LQ0KICA2MSA2NyA2NSA2ZSA3NCAzYSAyMCA1NyA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCA1MiBhZ2Vu
dDogV2luZG93cyBSDQogIDU0IDQzIDJmIDMxIDJlIDMwIDBkIDBhIDY1IDc4IDcwIDY5IDcyIDY1
IDczIDNhIFRDLzEuMC4uZXhwaXJlczoNCiAgMjAgMzAgMGQgMGEgNDMgNmYgNmUgNzQgNjUgNmUg
NzQgMmQgNGMgNjUgNmUgNjcgIDAuLkNvbnRlbnQtTGVuZw0KICA3NCA2OCAzYSAyMCAzMCAwZCAw
YSAwZCAwYSAgICAgICAgICAgICAgICAgICAgICB0aDogMC4uLi4gICAgICAgDQoNCi0tLWVuZCBv
ZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzQ6NDggc2lwcm94ZC5jOjE4MyBnb2luZyBpbnRvIHNpcF93
YWl0DQoNCjE2OjM0OjQ4IHNpcHJveGQuYzoxOTAgYmFjayBmcm9tIHNpcF93YWl0DQoxNjozNDo0
OCBzb2NrLmM6MTA0IHJlY2VpdmVkIFVEUCBwYWNrZXQgZnJvbSAxMC4xMC4xMC4xMTUsIGNvdW50
PTQzMw0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MiA0NSA0NyA0OSA1MyA1NCA0NSA1
MiAyMCA3MyA2OSA3MCAzYSA2MyA2MyA2OSBSRUdJU1RFUiBzaXA6Y2NpDQogIDczIDYxIDY2IDY1
IDJlIDYzIDYzIDY5IDJlIDZlIDY1IDc0IDIwIDUzIDQ5IDUwIHNhZmUuY2NpLm5ldCBTSVANCiAg
MmYgMzIgMmUgMzAgMGQgMGEgNTYgNjkgNjEgM2EgMjAgNTMgNDkgNTAgMmYgMzIgLzIuMC4uVmlh
OiBTSVAvMg0KICAyZSAzMCAyZiA1NSA0NCA1MCAyMCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMCAy
ZSAuMC9VRFAgMTAuMTAuMTAuDQogIDMxIDMxIDM1IDNhIDMxIDMzIDM0IDMxIDM1IDBkIDBhIDQ2
IDcyIDZmIDZkIDNhIDExNToxMzQxNS4uRnJvbToNCiAgMjAgM2MgNzMgNjkgNzAgM2EgNjIgNmYg
NjIgNDAgNjMgNjMgNjkgNzMgNjEgNjYgIDxzaXA6Ym9iQGNjaXNhZg0KICA2NSAyZSA2MyA2MyA2
OSAyZSA2ZSA2NSA3NCAzZSAzYiA3NCA2MSA2NyAzZCAzNSBlLmNjaS5uZXQ+O3RhZz01DQogIDM3
IDMwIDYxIDYxIDM5IDY2IDM2IDJkIDMxIDM5IDM0IDMyIDJkIDM0IDMyIDY2IDcwYWE5ZjYtMTk0
Mi00MmYNCiAgMzggMmQgNjIgNjUgNjYgMzggMmQgNjMgMzkgNjIgMzkgNjMgNjMgMzkgMzEgNjMg
OC1iZWY4LWM5YjljYzkxYw0KICA2NiAzMiA2NSAwZCAwYSA1NCA2ZiAzYSAyMCAzYyA3MyA2OSA3
MCAzYSA2MiA2ZiBmMmUuLlRvOiA8c2lwOmJvDQogIDYyIDQwIDYzIDYzIDY5IDczIDYxIDY2IDY1
IDJlIDYzIDYzIDY5IDJlIDZlIDY1IGJAY2Npc2FmZS5jY2kubmUNCiAgNzQgM2UgMGQgMGEgNDMg
NjEgNmMgNmMgMmQgNDkgNDQgM2EgMjAgNjYgMzYgNjUgdD4uLkNhbGwtSUQ6IGY2ZQ0KICA2MSA2
NiA2MiAzOSAzMSAyZCAzMCA2NCA2MyAzNyAyZCAzNCA2MiA2NiAzMCAyZCBhZmI5MS0wZGM3LTRi
ZjAtDQogIDM5IDY0IDY0IDYzIDJkIDMxIDY0IDMxIDM3IDYxIDY1IDY1IDM3IDYzIDMyIDY2IDlk
ZGMtMWQxN2FlZTdjMmYNCiAgNjQgNDAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEg
MzUgMGQgMGEgZEAxMC4xMC4xMC4xMTUuLg0KICA0MyA1MyA2NSA3MSAzYSAyMCAzMiAyMCA1MiA0
NSA0NyA0OSA1MyA1NCA0NSA1MiBDU2VxOiAyIFJFR0lTVEVSDQogIDBkIDBhIDQzIDZmIDZlIDc0
IDYxIDYzIDc0IDNhIDIwIDNjIDczIDY5IDcwIDNhIC4uQ29udGFjdDogPHNpcDoNCiAgMzEgMzAg
MmUgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgM2EgMzEgMzMgMzQgMTAuMTAuMTAuMTE1OjEz
NA0KICAzMSAzNSAzZSAzYiA2ZCA2NSA3NCA2OCA2ZiA2NCA3MyAzZCAyMiA0OSA0ZSA1NiAxNT47
bWV0aG9kcz0iSU5WDQogIDQ5IDU0IDQ1IDJjIDIwIDRkIDQ1IDUzIDUzIDQxIDQ3IDQ1IDJjIDIw
IDQ5IDRlIElURSwgTUVTU0FHRSwgSU4NCiAgNDYgNGYgMmMgMjAgNTMgNTUgNDIgNTMgNDMgNTIg
NDkgNDIgNDUgMmMgMjAgNGYgRk8sIFNVQlNDUklCRSwgTw0KICA1MCA1NCA0OSA0ZiA0ZSA1MyAy
YyAyMCA0MiA1OSA0NSAyYyAyMCA0MyA0MSA0ZSBQVElPTlMsIEJZRSwgQ0FODQogIDQzIDQ1IDRj
IDJjIDIwIDRlIDRmIDU0IDQ5IDQ2IDU5IDJjIDIwIDQxIDQzIDRiIENFTCwgTk9USUZZLCBBQ0sN
CiAgMjIgMGQgMGEgNTUgNzMgNjUgNzIgMmQgNDEgNjcgNjUgNmUgNzQgM2EgMjAgNTcgIi4uVXNl
ci1BZ2VudDogVw0KICA2OSA2ZSA2NCA2ZiA3NyA3MyAyMCA1MiA1NCA0MyAyZiAzMSAyZSAzMCAw
ZCAwYSBpbmRvd3MgUlRDLzEuMC4uDQogIDQ1IDc4IDcwIDY5IDcyIDY1IDczIDNhIDIwIDMwIDBk
IDBhIDQzIDZmIDZlIDc0IEV4cGlyZXM6IDAuLkNvbnQNCiAgNjUgNmUgNzQgMmQgNGMgNjUgNmUg
NjcgNzQgNjggM2EgMjAgMzAgMGQgMGEgMGQgZW50LUxlbmd0aDogMC4uLg0KICAwYSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICAgICAgICAgICAgICAgDQoN
Ci0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzQ6NDggYWNjZXNzY3RsLmM6NTUgZGVueSAg
bGlzdCAoU0lQKTpOVUxMDQoxNjozNDo0OCBhY2Nlc3NjdGwuYzo1NyBhbGxvdyBsaXN0IChTSVAp
Ok5VTEwNCjE2OjM0OjQ4IGFjY2Vzc2N0bC5jOjU5IGFsbG93IGxpc3QgKFJFRyk6TlVMTA0KMTY6
MzQ6NDggc2lwcm94ZC5jOjIxOCByZWNlaXZlZCBTSVAgdHlwZSBSRVE6UkVHSVNURVINCjE2OjM0
OjQ4IHJlZ2lzdGVyLmM6OTcgc2lwX3JlZ2lzdGVyOg0KMTY6MzQ6NDggcmVnaXN0ZXIuYzoxMTAg
ZXhwaXJlczowIHNlY29uZHMNCjE2OjM0OjQ4IHV0aWxzLmM6MzI1IGNvbXBhcmluZyB1cmxzOiBi
b2JAY2Npc2FmZS5jY2kubmV0IC0+IGJvYkBjY2lzYWZlLmNjaS5uZXQNCjE2OjM0OjQ4IFdBUk5J
Tkc6dXRpbHMuYzozMTEgY29tcGFyZV91cmw6IE5VTEwgdXNlcm5hbWUgcG9pbnRlcjogTVNOIG1l
c3NlbmdlciBpcyBrbm93biB0byB0cmlnZ2VyIHRoaXMgb25lISBbdXJsMS0+dXNlcm5hbWU9MHgo
bmlsKSwgdXJsMi0+dXNlcm5hbWU9MHgobmlsKV0NCjE2OjM0OjQ4IHV0aWxzLmM6MzEzIGNvbXBh
cmluZyBicm9rZW4gdXJscyAobm8gdXNlcik6IDEwLjEwLjEwLjExNSAtPiAxMC4xMC4xMC4xMTUN
CjE2OjM0OjQ4IHJlZ2lzdGVyLmM6MTM1IGZvdW5kIGVudHJ5IGZvciAqTlVMTCpAMTAuMTAuMTAu
MTE1IGF0IHNsb3Q9MCwgZXhwPTExNjENCjE2OjM0OjQ4IHNvY2suYzoxNDAgc2VuZCBVRFAgcGFj
a2V0IHRvIDEwLjEwLjEwLjExNTogMTM0MTUNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0NCiAg
NTMgNDkgNTAgMmYgMzIgMmUgMzAgMjAgMzIgMzAgMzAgMjAgNGYgNGIgMGQgMGEgU0lQLzIuMCAy
MDAgT0suLg0KICA1NiA2OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1
MCBWaWE6IFNJUC8yLjAvVURQDQogIDIwIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMwIDJlIDMxIDMx
IDM1IDNhIDMxIDMzICAxMC4xMC4xMC4xMTU6MTMNCiAgMzQgMzEgMzUgMGQgMGEgNDYgNzIgNmYg
NmQgM2EgMjAgM2MgNzMgNjkgNzAgM2EgNDE1Li5Gcm9tOiA8c2lwOg0KICA2MiA2ZiA2MiA0MCA2
MyA2MyA2OSA3MyA2MSA2NiA2NSAyZSA2MyA2MyA2OSAyZSBib2JAY2Npc2FmZS5jY2kuDQogIDZl
IDY1IDc0IDNlIDNiIDc0IDYxIDY3IDNkIDM1IDM3IDMwIDYxIDYxIDM5IDY2IG5ldD47dGFnPTU3
MGFhOWYNCiAgMzYgMmQgMzEgMzkgMzQgMzIgMmQgMzQgMzIgNjYgMzggMmQgNjIgNjUgNjYgMzgg
Ni0xOTQyLTQyZjgtYmVmOA0KICAyZCA2MyAzOSA2MiAzOSA2MyA2MyAzOSAzMSA2MyA2NiAzMiA2
NSAwZCAwYSA1NCAtYzliOWNjOTFjZjJlLi5UDQogIDZmIDNhIDIwIDNjIDczIDY5IDcwIDNhIDYy
IDZmIDYyIDQwIDYzIDYzIDY5IDczIG86IDxzaXA6Ym9iQGNjaXMNCiAgNjEgNjYgNjUgMmUgNjMg
NjMgNjkgMmUgNmUgNjUgNzQgM2UgMGQgMGEgNDMgNjEgYWZlLmNjaS5uZXQ+Li5DYQ0KICA2YyA2
YyAyZCA0OSA0NCAzYSAyMCA2NiAzNiA2NSA2MSA2NiA2MiAzOSAzMSAyZCBsbC1JRDogZjZlYWZi
OTEtDQogIDMwIDY0IDYzIDM3IDJkIDM0IDYyIDY2IDMwIDJkIDM5IDY0IDY0IDYzIDJkIDMxIDBk
YzctNGJmMC05ZGRjLTENCiAgNjQgMzEgMzcgNjEgNjUgNjUgMzcgNjMgMzIgNjYgNjQgNDAgMzEg
MzAgMmUgMzEgZDE3YWVlN2MyZmRAMTAuMQ0KICAzMCAyZSAzMSAzMCAyZSAzMSAzMSAzNSAwZCAw
YSA0MyA1MyA2NSA3MSAzYSAyMCAwLjEwLjExNS4uQ1NlcTogDQogIDMyIDIwIDUyIDQ1IDQ3IDQ5
IDUzIDU0IDQ1IDUyIDBkIDBhIDY1IDc4IDcwIDY5IDIgUkVHSVNURVIuLmV4cGkNCiAgNzIgNjUg
NzMgM2EgMjAgMzAgMGQgMGEgNDMgNmYgNmUgNzQgNjUgNmUgNzQgMmQgcmVzOiAwLi5Db250ZW50
LQ0KICA0YyA2NSA2ZSA2NyA3NCA2OCAzYSAyMCAzMCAwZCAwYSAwZCAwYSAgICAgICAgICBMZW5n
dGg6IDAuLi4uICAgDQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzQ6NDggc2lwcm94
ZC5jOjE4MyBnb2luZyBpbnRvIHNpcF93YWl0DQoNCjE2OjM0OjQ4IHNpcHJveGQuYzoxOTAgYmFj
ayBmcm9tIHNpcF93YWl0DQoxNjozNDo0OCBzb2NrLmM6MTA0IHJlY2VpdmVkIFVEUCBwYWNrZXQg
ZnJvbSAyMDQuNTcuMTQyLjE4LCBjb3VudD00MTYNCi0tLUJVRkZFUiBEVU1QIGZvbGxvd3MtLS0N
CiAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgMjAgMzIgMzAgMzAgMjAgNGYgNGIgMGQgMGEgU0lQLzIu
MCAyMDAgT0suLg0KICA1NiA2OSA2MSAzYSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0
NCA1MCBWaWE6IFNJUC8yLjAvVURQDQogIDIwIDMyIDMwIDM0IDJlIDM1IDM3IDJlIDMxIDM0IDMy
IDJlIDMzIDNhIDM1IDMwICAyMDQuNTcuMTQyLjM6NTANCiAgMzYgMzAgMGQgMGEgNTYgNjkgNjEg
M2EgMjAgNTMgNDkgNTAgMmYgMzIgMmUgMzAgNjAuLlZpYTogU0lQLzIuMA0KICAyZiA1NSA0NCA1
MCAyMCAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMCAyZSAzMSAzMSAvVURQIDEwLjEwLjEwLjExDQog
IDM1IDNhIDMxIDMzIDM0IDMxIDM1IDBkIDBhIDQ2IDcyIDZmIDZkIDNhIDIwIDIyIDU6MTM0MTUu
LkZyb206ICINCiAgNjIgNmYgNjIgMjIgMjAgM2MgNzMgNjkgNzAgM2EgNjIgNmYgNjIgNDAgNjMg
NjMgYm9iIiA8c2lwOmJvYkBjYw0KICA2OSA3MyA2MSA2NiA2NSAyZSA2MyA2MyA2OSAyZSA2ZSA2
NSA3NCAzZSAzYiA3NCBpc2FmZS5jY2kubmV0Pjt0DQogIDYxIDY3IDNkIDM2IDM4IDMyIDM3IDM3
IDM1IDYzIDM5IDJkIDMyIDM2IDM5IDM4IGFnPTY4Mjc3NWM5LTI2OTgNCiAgMmQgMzQgNjIgNjQg
NjUgMmQgMzggMzIgNjUgNjMgMmQgNjYgNjYgMzkgMzQgNjMgLTRiZGUtODJlYy1mZjk0Yw0KICA2
NSAzNiAzNiA2MiAzOSA2NiA2MSAwZCAwYSA1NCA2ZiAzYSAyMCAzYyA3MyA2OSBlNjZiOWZhLi5U
bzogPHNpDQogIDcwIDNhIDc0IDZmIDZkIDQwIDYyIDc1IDY3IDZjIDY1IDJlIDYzIDYzIDY5IDJl
IHA6dG9tQGJ1Z2xlLmNjaS4NCiAgNmUgNjUgNzQgM2UgM2IgNzQgNjEgNjcgM2QgNjIgMzYgNjYg
MzcgMzUgNjMgNjQgbmV0Pjt0YWc9YjZmNzVjZA0KICAzNSAyZCAzNSA2NSAzMCAzOSAyZCAzMSAz
MSA2NCAzNyAyZCAzOCAzOCA2NSAzMyA1LTVlMDktMTFkNy04OGUzDQogIDJkIDMwIDMwIDYxIDMw
IDYzIDYzIDM0IDMxIDMwIDMyIDMyIDYzIDBkIDBhIDQzIC0wMGEwY2M0MTAyMmMuLkMNCiAgNjEg
NmMgNmMgMmQgNDkgNDQgM2EgMjAgNjMgMzMgMzcgMzggMzAgMzkgMzMgMzcgYWxsLUlEOiBjMzc4
MDkzNw0KICAyZCAzMyA2MyA2NCAzOCAyZCAzNCAzOCAzOCAzOCAyZCA2MiAzMiAzNCAzMCAyZCAt
M2NkOC00ODg4LWIyNDAtDQogIDM2IDY1IDMyIDMxIDY2IDM5IDYxIDM1IDM1IDM2IDM4IDMxIDQw
IDMxIDMwIDJlIDZlMjFmOWE1NTY4MUAxMC4NCiAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUg
MGQgMGEgNDMgNTMgNjUgNzEgM2EgMTAuMTAuMTE1Li5DU2VxOg0KICAyMCAzMiAyMCA1MyA1NSA0
MiA1MyA0MyA1MiA0OSA0MiA0NSAwZCAwYSA0MyA2ZiAgMiBTVUJTQ1JJQkUuLkNvDQogIDZlIDc0
IDYxIDYzIDc0IDNhIDIwIDNjIDczIDY5IDcwIDNhIDMyIDMwIDM0IDJlIG50YWN0OiA8c2lwOjIw
NC4NCiAgMzUgMzcgMmUgMzEgMzQgMzIgMmUgMzEgMzMgMzQgM2EgMzcgMzIgMzggMzUgM2UgNTcu
MTQyLjEzNDo3Mjg1Pg0KICAwZCAwYSA1NSA3MyA2NSA3MiAyZCA0MSA2NyA2NSA2ZSA3NCAzYSAy
MCA1NyA2OSAuLlVzZXItQWdlbnQ6IFdpDQogIDZlIDY0IDZmIDc3IDczIDIwIDUyIDU0IDQzIDJm
IDMxIDJlIDMwIDBkIDBhIDQ1IG5kb3dzIFJUQy8xLjAuLkUNCiAgNzggNzAgNjkgNzIgNjUgNzMg
M2EgMjAgMzAgMGQgMGEgNDMgNmYgNmUgNzQgNjUgeHBpcmVzOiAwLi5Db250ZQ0KICA2ZSA3NCAy
ZCA0YyA2NSA2ZSA2NyA3NCA2OCAzYSAyMCAzMCAwZCAwYSAwZCAwYSBudC1MZW5ndGg6IDAuLi4u
DQoNCi0tLWVuZCBvZiBCVUZGRVIgRFVNUC0tLQ0KMTY6MzQ6NDggYWNjZXNzY3RsLmM6NTUgZGVu
eSAgbGlzdCAoU0lQKTpOVUxMDQoxNjozNDo0OCBhY2Nlc3NjdGwuYzo1NyBhbGxvdyBsaXN0IChT
SVApOk5VTEwNCjE2OjM0OjQ4IGFjY2Vzc2N0bC5jOjU5IGFsbG93IGxpc3QgKFJFRyk6TlVMTA0K
MTY6MzQ6NDggc2lwcm94ZC5jOjIxOCByZWNlaXZlZCBTSVAgdHlwZSBSRVM6TlVMTA0KMTY6MzQ6
NDggcHJveHkuYzozMTAgcHJveHlfcmVzcG9uc2UNCjE2OjM0OjQ4IHV0aWxzLmM6MTQ1IHZpYSBu
YW1lIDEwLjEwLjEwLjExNQ0KMTY6MzQ6NDggdXRpbHMuYzoxNjAgcmVzb2x2aW5nIElQIG9mIGlu
dGVyZmFjZSBldGgxDQoxNjozNDo0OCB1dGlscy5jOjQyNyBnZXRfaXBfYnlfaWZuYW1lOiBpbnRl
cmZhY2UgZXRoMSBoYXMgSVA6IDEwLjEwLjEwLjEwDQoxNjozNDo0OCB1dGlscy5jOjE2MCByZXNv
bHZpbmcgSVAgb2YgaW50ZXJmYWNlIGV0aDANCjE2OjM0OjQ4IHV0aWxzLmM6NDI3IGdldF9pcF9i
eV9pZm5hbWU6IGludGVyZmFjZSBldGgwIGhhcyBJUDogMjA0LjU3LjE0Mi4zDQoxNjozNDo0OCBw
cm94eS5jOjU2MSBkZWxldGluZyB0b3Btb3N0IFZJQQ0KMTY6MzQ6NDggdXRpbHMuYzoxNDUgdmlh
IG5hbWUgMjA0LjU3LjE0Mi4zDQoxNjozNDo0OCB1dGlscy5jOjE2MCByZXNvbHZpbmcgSVAgb2Yg
aW50ZXJmYWNlIGV0aDENCjE2OjM0OjQ4IHV0aWxzLmM6NDI3IGdldF9pcF9ieV9pZm5hbWU6IGlu
dGVyZmFjZSBldGgxIGhhcyBJUDogMTAuMTAuMTAuMTANCjE2OjM0OjQ4IHV0aWxzLmM6MTYwIHJl
c29sdmluZyBJUCBvZiBpbnRlcmZhY2UgZXRoMA0KMTY6MzQ6NDggdXRpbHMuYzo0MjcgZ2V0X2lw
X2J5X2lmbmFtZTogaW50ZXJmYWNlIGV0aDAgaGFzIElQOiAyMDQuNTcuMTQyLjMNCjE2OjM0OjQ4
IHV0aWxzLmM6MTcxIGFkZHJlc3MgbWF0Y2ggWzIwNC41Ny4xNDIuM10gPC0+IFsyMDQuNTcuMTQy
LjNdDQoxNjozNDo0OCB1dGlscy5jOjMyNSBjb21wYXJpbmcgdXJsczogYm9iQGNjaXNhZmUuY2Np
Lm5ldCAtPiBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozNDo0OCBwcm94eS5jOjM0OSBpbmNvbWlu
ZyByZXNwb25zZSBmb3IgYm9iQGNjaXNhZmUuY2NpLm5ldCBmcm9tIG91dGJvdW5kDQoxNjozNDo0
OCB1dGlscy5jOjI1NCBETlMgbG9va3VwIC0gcmVzb2x2ZWQ6IDEwLjEwLjEwLjExNSAtPiAxMC4x
MC4xMC4xMTUNCjE2OjM0OjQ4IHV0aWxzLmM6MjczIEROUyBsb29rdXAgLSBzdG9yZSBpbnRvIGNh
Y2hlLCBlbnRyeSAxKQ0KMTY6MzQ6NDggc29jay5jOjE0MCBzZW5kIFVEUCBwYWNrZXQgdG8gMTAu
MTAuMTAuMTE1OiAxMzQxNQ0KLS0tQlVGRkVSIERVTVAgZm9sbG93cy0tLQ0KICA1MyA0OSA1MCAy
ZiAzMiAyZSAzMCAyMCAzMiAzMCAzMCAyMCA0ZiA0YiAwZCAwYSBTSVAvMi4wIDIwMCBPSy4uDQog
IDU2IDY5IDYxIDNhIDIwIDUzIDQ5IDUwIDJmIDMyIDJlIDMwIDJmIDU1IDQ0IDUwIFZpYTogU0lQ
LzIuMC9VRFANCiAgMjAgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzAgMmUgMzEgMzEgMzUgM2EgMzEg
MzMgIDEwLjEwLjEwLjExNToxMw0KICAzNCAzMSAzNSAwZCAwYSA0NiA3MiA2ZiA2ZCAzYSAyMCAy
MiA2MiA2ZiA2MiAyMiA0MTUuLkZyb206ICJib2IiDQogIDIwIDNjIDczIDY5IDcwIDNhIDYyIDZm
IDYyIDQwIDYzIDYzIDY5IDczIDYxIDY2ICA8c2lwOmJvYkBjY2lzYWYNCiAgNjUgMmUgNjMgNjMg
NjkgMmUgNmUgNjUgNzQgM2UgM2IgNzQgNjEgNjcgM2QgMzYgZS5jY2kubmV0Pjt0YWc9Ng0KICAz
OCAzMiAzNyAzNyAzNSA2MyAzOSAyZCAzMiAzNiAzOSAzOCAyZCAzNCA2MiA2NCA4Mjc3NWM5LTI2
OTgtNGJkDQogIDY1IDJkIDM4IDMyIDY1IDYzIDJkIDY2IDY2IDM5IDM0IDYzIDY1IDM2IDM2IDYy
IGUtODJlYy1mZjk0Y2U2NmINCiAgMzkgNjYgNjEgMGQgMGEgNTQgNmYgM2EgMjAgM2MgNzMgNjkg
NzAgM2EgNzQgNmYgOWZhLi5UbzogPHNpcDp0bw0KICA2ZCA0MCA2MiA3NSA2NyA2YyA2NSAyZSA2
MyA2MyA2OSAyZSA2ZSA2NSA3NCAzZSBtQGJ1Z2xlLmNjaS5uZXQ+DQogIDNiIDc0IDYxIDY3IDNk
IDYyIDM2IDY2IDM3IDM1IDYzIDY0IDM1IDJkIDM1IDY1IDt0YWc9YjZmNzVjZDUtNWUNCiAgMzAg
MzkgMmQgMzEgMzEgNjQgMzcgMmQgMzggMzggNjUgMzMgMmQgMzAgMzAgNjEgMDktMTFkNy04OGUz
LTAwYQ0KICAzMCA2MyA2MyAzNCAzMSAzMCAzMiAzMiA2MyAwZCAwYSA0MyA2MSA2YyA2YyAyZCAw
Y2M0MTAyMmMuLkNhbGwtDQogIDQ5IDQ0IDNhIDIwIDYzIDMzIDM3IDM4IDMwIDM5IDMzIDM3IDJk
IDMzIDYzIDY0IElEOiBjMzc4MDkzNy0zY2QNCiAgMzggMmQgMzQgMzggMzggMzggMmQgNjIgMzIg
MzQgMzAgMmQgMzYgNjUgMzIgMzEgOC00ODg4LWIyNDAtNmUyMQ0KICA2NiAzOSA2MSAzNSAzNSAz
NiAzOCAzMSA0MCAzMSAzMCAyZSAzMSAzMCAyZSAzMSBmOWE1NTY4MUAxMC4xMC4xDQogIDMwIDJl
IDMxIDMxIDM1IDBkIDBhIDQzIDUzIDY1IDcxIDNhIDIwIDMyIDIwIDUzIDAuMTE1Li5DU2VxOiAy
IFMNCiAgNTUgNDIgNTMgNDMgNTIgNDkgNDIgNDUgMGQgMGEgNDMgNmYgNmUgNzQgNjEgNjMgVUJT
Q1JJQkUuLkNvbnRhYw0KICA3NCAzYSAyMCAzYyA3MyA2OSA3MCAzYSAzMiAzMCAzNCAyZSAzNSAz
NyAyZSAzMSB0OiA8c2lwOjIwNC41Ny4xDQogIDM0IDMyIDJlIDMxIDMzIDM0IDNhIDM3IDMyIDM4
IDM1IDNlIDBkIDBhIDc1IDczIDQyLjEzNDo3Mjg1Pi4udXMNCiAgNjUgNzIgMmQgNjEgNjcgNjUg
NmUgNzQgM2EgMjAgNTcgNjkgNmUgNjQgNmYgNzcgZXItYWdlbnQ6IFdpbmRvdw0KICA3MyAyMCA1
MiA1NCA0MyAyZiAzMSAyZSAzMCAwZCAwYSA2NSA3OCA3MCA2OSA3MiBzIFJUQy8xLjAuLmV4cGly
DQogIDY1IDczIDNhIDIwIDMwIDBkIDBhIDQzIDZmIDZlIDc0IDY1IDZlIDc0IDJkIDRjIGVzOiAw
Li5Db250ZW50LUwNCiAgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzAgMGQgMGEgMGQgMGEgICAgICAg
ICAgICAgZW5ndGg6IDAuLi4uICAgIA0KDQotLS1lbmQgb2YgQlVGRkVSIERVTVAtLS0NCjE2OjM0
OjQ4IHNpcHJveGQuYzoxODMgZ29pbmcgaW50byBzaXBfd2FpdA0KDQoxNjozNDo1MyByZWdpc3Rl
ci5jOjIxNyBzaXBfYWdlbWFwLCB0PTEwNDg1NTI0OTMNCjE2OjM0OjUzIHJlZ2lzdGVyLmM6MjIx
IGNsZWFuZWQgZW50cnk6MCBib2JAY2Npc2FmZS5jY2kubmV0DQoxNjozNDo1OCByZWdpc3Rlci5j
OjIxNyBzaXBfYWdlbWFwLCB0PTEwNDg1NTI0OTgNCg==
</data>
    </attachment><category>Runtime/Config</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-03-27 13:22</date>
      <description>Date: 2003-03-27 13:22
Sender: tries
Logged In: YES 
user_id=438614

I took a look into the logfile. I cannot see any misbehaviour
of siproxd there. All requests get an answer, no errors or
warnings. It is also visible that 10.10.10.115 sends a MESSAGE
to sip:tom@bugle.cci.net which then gets the OK answer back.
From my point of view this is supposed to be correct.

I just reconfigured some machines here at home and verified
again that siproxd actually is working with Messenger 4.6.


HOST_A ----- Siproxd ----- HOST_B

HOST_A is Win98, Messenger 4.6, registered to siproxd.
HOST_B is supposed to be in the 'wild' and does not
register
       anywhere (non M$ client)

I could verify that the signalling *IS* working - in both
directions.

To further investigate, it would be needed to look at 
bugle.cci.net (204.57.142.18) side what it does with the 
received message (At least it did send back an OK,
so why the hell does the message disapear then?)

What might help would be some network traces taken at
bugle.cci.net, some that reflect properly received messages
and some that show the non working situation.

As this potential problem currently cannot be 'blamed'
on
siproxd up to now I'm going to close the bugreport.
However,
I will provide further support in further investigation, please
contact me directly via mail.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2003-03-25 16:42</date>
      <description>Date: 2003-03-25 16:42
Sender: bob98072
Logged In: YES 
user_id=737854

If the attachment doesn't come through again
debug file maybe reached via
ftp://guiduck.com/incoming/sip/debug.log</description>
      <sender>bob98072</sender>
      <sender_user_id>737854</sender_user_id>
    </comment><comment>
      <date>2003-03-25 16:19</date>
      <description>Date: 2003-03-25 16:19
Sender: tries
Logged In: YES 
user_id=438614

The debug log was not attached. Please include the debug logfile
again.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-03-27 13:22</date_closed>
    <date_last_updated>2003-03-27 13:22</date_last_updated>
    <date_submitted>2003-03-25 11:29</date_submitted>
    <description>I have Windows Messenger client running the &amp;quot;public&amp;quot;
side of the internet and one WM client on the private
side. The two clients can &amp;quot;see&amp;quot; each other as
being &amp;quot;online&amp;quot; but can't send a message to each other.
Details: WM client public side register with Sip server
Bugle.cci.net (204.57.142.18). The server is &amp;quot;Ser&amp;quot; from
Iptel.org. I have verified the ip server is working correctly
and WM clients on the public side registered with bugle
can talk to each other. The firewall running siproxyd is
redhat 6.0 running IPchains with public address of
ccisafe.cci.net (204.57.142.3) and private address
10.10.10.10. I checked the message log to verify no
packets blocked from bugle.cci.net.

See attached siproxyd debug log. Add a Comment:</description>
    <group>None</group>
    <item_id>709603</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>3</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Bob Meader - bob98072</submitted_by>
    <summary>Windows Messenger 4.6 problem</summary>
    <title>Windows Messenger 4.6 problem</title>
  </item>
<item id="843996">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>Runtime/Config</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-11-18 15:57</date>
      <description>Date: 2003-11-18 15:57
Sender: cross
Logged In: YES 
user_id=12814

Assuming you mean &amp;lt;sysconfigdir&amp;gt;/siproxd.conf,
instead of
&amp;lt;sysconfigdir&amp;gt;/etc/, then that's fine. 
sysconfdir defaults
to ${prefix}/etc ...</description>
      <sender>cross</sender>
      <sender_user_id>12814</sender_user_id>
    </comment><comment>
      <date>2003-11-18 12:09</date>
      <description>Date: 2003-11-18 12:09
Sender: tries
Logged In: YES 
user_id=438614

This I'll include in the next release (0.5.0).
Up to now, the search list used by siproxd was:
  &amp;quot;$HOME/.siproxdrc&amp;quot;
  &amp;quot;/etc/siproxd.conf&amp;quot;,
  &amp;quot;/usr/etc/siproxd.conf&amp;quot;,
  &amp;quot;/usr/local/etc/siproxd.conf&amp;quot;

New it will be:
  &amp;quot;$HOME/.siproxdrc&amp;quot;
 
&amp;quot;&amp;lt;sysconfdir&amp;gt;/etc/siproxd.conf&amp;quot;,
  &amp;quot;/etc/siproxd.conf&amp;quot;,
  &amp;quot;/usr/etc/siproxd.conf&amp;quot;,
  &amp;quot;/usr/local/etc/siproxd.conf&amp;quot;</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-11-26 17:05</date_closed>
    <date_last_updated>2003-11-26 17:05</date_last_updated>
    <date_submitted>2003-11-17 13:23</date_submitted>
    <description>
When you set prefix to something (other than
/usr/local) during the build, this should be passed
into the compiled siproxd, so that it looks there
(instead of /usr/local/etc) for
it's config file. That's where things get stuck by
default. I assume that --sysconfdir or some other
similar arg can be
set so that this config is in some other dir than
${prefix}/etc,
but both of those cases should be dealt with...
Add a Comment:</description>
    <group>None</group>
    <item_id>843996</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Chris P. Ross - cross</submitted_by>
    <summary>Should look in ${prefix}/etc for config</summary>
    <title>Should look in ${prefix}/etc for config</title>
  </item>
<item id="847502">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>Build Enviroment</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-11-23 13:27</date>
      <description>Date: 2003-11-23 13:27
Sender: tries
Logged In: YES 
user_id=438614

Thanks, fix will be included in next release.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-11-26 17:05</date_closed>
    <date_last_updated>2003-11-26 17:05</date_last_updated>
    <date_submitted>2003-11-22 18:51</date_submitted>
    <description>Compile fails with:

gcc -DHAVE_CONFIG_H -I. -I. -I..
-I/usr/local/include/ -g -O2 -D_THREAD_SAFE -pthread
-Wall -DBUILDSTR=\&amp;quot;`cat .buildno`\&amp;quot; -D_GNU_SOURCE -c
rtpproxy.c
In file included from rtpproxy.c:23:
/usr/include/netinet/in.h:233: syntax error before
`in_addr_t'
/usr/include/netinet/in.h:285: syntax error before `u_char'
In file included from /usr/include/netinet/in.h:467,
from rtpproxy.c:23:
/usr/include/netinet6/in6.h:122: syntax error before
`u_int8_t'
/usr/include/netinet6/in6.h:144: syntax error before
`u_int8_t'
/usr/include/netinet6/in6.h:149: syntax error before
`u_int32_t'
/usr/include/netinet6/in6.h:608: syntax error before
`struct'
/usr/include/netinet6/in6.h:610: syntax error before `__P'
/usr/include/netinet6/in6.h:611: syntax error before `__P'
/usr/include/netinet6/in6.h:612: syntax error before `__P'
&amp;lt;truncated&amp;gt;

Fix:

needs

#include &amp;lt;sys/types.h&amp;gt;

before

#include &amp;lt;netinet/in.h&amp;gt;

See:

http://groups.google.com/groups?hl=en&amp;amp;lr=&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;c2coff=1&amp;amp;threadm=3B4B01B0.C0FAD7BC%40gactr.uga.edu&amp;amp;rnum=1&amp;amp;prev=/groups%3Fq%3D/usr/include/netinet6/in6.h%2Bsyntax%2Berror%2Bbefore%2B%2560__P%27%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26c2coff%3D1%26selm%3D3B4B01B0.C0FAD7BC%2540gactr.uga.edu%26rnum%3D1
 
jeremy.shaw@lindows.com
Add a Comment:</description>
    <group>None</group>
    <item_id>847502</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>rtpproxy.h missing header file - fails to compile on freebsd</summary>
    <title>rtpproxy.h missing header file - fails to compile on freebsd</title>
  </item>
<item id="847966">
    <assigned_to>Thomas Ries</assigned_to>
    <category>None</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-11-24 10:59</date>
      <description>Date: 2003-11-24 10:59
Sender: tries
Logged In: YES 
user_id=438614

Thanks, fix will be included in next release.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-11-26 17:05</date_closed>
    <date_last_updated>2003-11-26 17:05</date_last_updated>
    <date_submitted>2003-11-23 19:29</date_submitted>
    <description>rtp relaying was failing on FreeBSD, because the bind()
was failing in sockbind() from sock.c.

According to the FreeBSD man page for bind():
&amp;quot;For maximum portability, you should always zero
the socket address structure before populating it and
passing it to bind().&amp;quot;

I added:

memset(&amp;amp;my_addr, 0, sizeof(my_addr));

to sockbind(), and rtp_relay started working.

On a related note, the following code from
rtpproxy_relay.c does not detect that the call to
sockbind failed. It checks for port ==0, but not sock==0.

/* find a local outbound port number to use and bind
to it*/
sock=0;
port=0;
for (i=configuration.rtp_port_low;
i&amp;lt;=configuration.rtp_port_high; i++) {
for (j=0; j&amp;lt;RTPPROXY_SIZE; j++) {
/* outbound port already in use */
if ((memcmp(&amp;amp;rtp_proxytable[j].outbound_ipaddr,
&amp;amp;outbound_ipaddr, sizeof(struct
in_addr))== 0) &amp;amp;&amp;amp;
(rtp_proxytable[j].outboundport == i) ) break;
}

/* port is available, try to allocate */
if (j == RTPPROXY_SIZE) {
port=i;
DEBUGC(DBCLASS_RTP,&amp;quot;sockbind(%x, %d, 0);\n&amp;quot;,
outbound_ipaddr,port,0);
sock=sockbind(outbound_ipaddr, port, 0);
DEBUGC(DBCLASS_RTP,&amp;quot;sock=%d\n&amp;quot;,sock);
/* if success break, else try further on */
if (sock) break;
}
} /* for i */

DEBUGC(DBCLASS_RTP,&amp;quot;rtp_relay_start_fwd: port=%i,
sock=%i freeidx=%i&amp;quot;,
port, sock, freeidx);

/* found an unused port? No -&amp;gt; RTP port pool fully
allocated */
if (port == 0) {
ERROR(&amp;quot;rtp_relay_start_fwd: no RTP port
available. Check rtp_port_* config!&amp;quot;);
sts = STS_FAILURE;
goto unlock_and_exit;
}


jeremy.shaw@lindows.com Add a Comment:</description>
    <group>None</group>
    <item_id>847966</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>must zero sockaddr_in in sockbind</summary>
    <title>must zero sockaddr_in in sockbind</title>
  </item>
<item id="858135">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>General</category>
    <closed_by>nobody</closed_by>
    <comment>
      <date>2003-12-12 10:16</date>
      <description>Date: 2003-12-12 10:16
Sender: tries
Logged In: YES 
user_id=438614

This is a (up to now) not properly documented limitation of
siproxd.
Making calls between local UAs is not supported. I just updated
the FAQ:

Q: I  have two local UA (SIP phones) connected to siproxd. I
can
   make outgoing calls and receive incoming calls to some other
   SIP phones in the internet. However, making a call between
the
   two locally connected does not succeed, why?

A: That is not a bug but a known limitation of siproxd.
Currently it
   can only manage calls from the local (inbound) network to the

   outside world (outbound network) and vice versa. Making
calls
   locally is not supported.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2003-12-12 10:16</date_closed>
    <date_last_updated>2003-12-12 10:16</date_last_updated>
    <date_submitted>2003-12-11 01:05</date_submitted>
    <description>Hello.

I'm using Siproxd like an outbound proxy, wich help me
to transmit message between my UAs in my local
network through a SIP server in Internet.

The registration work fine, Siproxd change the Via and
the contact, but when I want to make calls between my
phones, there are some problems.

First, when I phone from UA1 to UA2, all signaling
messages go fine, and the call can proceed, but the
messages don't pass through the proxy. Is this situation
correct?

Then, when I want to phone from UA2 to UA1, the Invite
goes through the proxy, the Via, the contact and the
(c) and (m) in the SDP are chaged. Then, the server
send back an Invite and a 100 Trying, but the proxy only
proceed the 100 Trying. What goes wrong?

I've attached an Ethereal Capture and two .jpeg wich
could maybe explains the situation a bit well.

Hope you will understand and that anybody will answer
me.

Regards.

Alex Add a Comment:</description>
    <group>None</group>
    <item_id>858135</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Rejected</resolution>
    <status>Closed</status>
    <submitted_by>Fiaux Alexandre - ouikid</submitted_by>
    <summary>Problems calling between local UAs with siproxd</summary>
    <title>Problems calling between local UAs with siproxd</title>
  </item>
<item id="909118">
    <assigned_to>Thomas Ries</assigned_to>
    <category>Runtime/Config</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2004-03-06 01:14</date>
      <description>Date: 2004-03-06 01:14
Sender: tries
Logged In: YES 
user_id=438614

It turned out to be caused by a wrong configuration of the
User Agents.

A working configuration for kphone (quoted from mark01):
&gt; FYI: Sample FWD config for kphone:
&gt; (FWD_NUMBER is your FWD account number)
&gt; 
&gt; Full Name: My Name
&gt; User part of SIP URL: FWD_NUMBER
&gt; Host Part of SIP URL: fwd.pulver.com
&gt; Outbound Proxy: 192.168.1.1                &lt;&lt;-- local IP of
siproxd
&gt; Authentication Username: FWD_NUMBER
&gt; q-value:                           &lt;&lt;-- empty

For Messenger 5.0:
&gt; For Messenger 5, this is what works for me:
&gt; 
&gt; If I specify 192.168.1.1 as the server, and
266xxx@fwd.pulver.com as my 
&gt; address that's all I have to do (as long as I
downloaded
the SIP-enabled 
&gt; Messenger 5, which is a separate download from the
non-SIP-enabled Messenger 
&gt; 5 at http://www.microsoft.com/windows/messenger (that has
confused a number 
&gt; of people and you may want to mention it in your readme).
&gt; 
&gt; Oh, again, when the auth dialog comes up you must use your
FWD_NUMBER and your 
&gt; password. Messenger misleads you into typing
FWD_NUMBER@fwd.pulver.com which 
&gt; will fail...</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2004-03-03 10:22</date>
      <description>Date: 2004-03-03 10:22
Sender: mark01
Logged In: YES 
user_id=671667

Email me: mark@ScheduleWorld.com for the files - too much work 
to hand-edit out my private info.</description>
      <sender>mark01</sender>
      <sender_user_id>671667</sender_user_id>
    </comment><comment>
      <date>2004-03-03 10:13</date>
      <description>Date: 2004-03-03 10:13
Sender: mark01
Logged In: YES 
user_id=671667

siproxd.out1: empty registration table, kphone not using siproxd

== able to 
register with pulver.com fine, but no calls work as siproxd
doesn't 
know 
how to map the incoming connections to my box 192.168.1.4. 
 
siproxd.out2: I told kphone to use siproxd as the outgoing proxy
to 
establish 
the mapping. kphone couldn't log in to pulver.com, but
registered 
with siproxd. 
 
siproxd.out3: told kphone to not use siproxd. connected find to 
pulver.com 
    make outgoing calls works. no one to test incoming calls 
though... 
you can email me if you want to test. You mentioned I could
email 
you but I can't find your email address anywhere... 
 
Also, siproxd doesn't work with Microsoft Windows Messenger
5.0 
either.</description>
      <sender>mark01</sender>
      <sender_user_id>671667</sender_user_id>
    </comment><comment>
      <date>2004-03-03 09:30</date>
      <description>Date: 2004-03-03 09:30
Sender: tries
Logged In: YES 
user_id=438614

Please reproduce the situation and record the debug output of
siproxd.
See the section PROBLEM REPORTING in the siproxd/README file
for
more details.

1) make sure siproxd is not started as daemon.
   -&gt; 'daemonize = 0' in the config file.
2) start siproxd:
   $ ./siproxd -d -1 2&gt;debug.log
3) reproduce the error
4) include the file debug.log in your error report or email it
directly to me.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2004-03-06 01:14</date_closed>
    <date_last_updated>2004-03-06 01:14</date_last_updated>
    <date_submitted>2004-03-03 07:34</date_submitted>
    <description>I keep getting these errors with kphone 4.0.1.
I'm using the latest osip, and I've even tried the latest siproxd
from cvs.

I notice:
INFO:Outgoing Call from: 266368:24.157.x.x
ERROR:proxy_response: list_get via failed

24.157.x.x is my public cablemodem address.
my iptables is correct.

thoughts?
Add a Comment:</description>
    <group>None</group>
    <item_id>909118</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>4</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Mark Swanson - mark01</submitted_by>
    <summary>ERROR:proxy_response: list_get via failed</summary>
    <title>ERROR:proxy_response: list_get via failed</title>
  </item>
<item id="1097688">
    <assigned_to>Thomas Ries</assigned_to>
    <category>Build Enviroment</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-01-08 02:28</date>
      <description>Date: 2005-01-08 02:28
Sender: tries
Logged In: YES 
user_id=438614

Thanks, fix will be included in next release.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-01-08 02:28</date_closed>
    <date_last_updated>2005-01-08 02:28</date_last_updated>
    <date_submitted>2005-01-06 23:49</date_submitted>
    <description>On a fresh install of FreeBSD 5.3, you cannot
./configure the proxy, you must edit configure and
remove "-lgnugetopt" Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1097688</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>-lgnugetopt improperly used on FreeBSD</summary>
    <title>-lgnugetopt improperly used on FreeBSD</title>
  </item>
<item id="1102158">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <attachment file_id="115794">
      <content_disposition>attachment; filename=debug.log.gz</content_disposition>
      <description>debug.log from sip connection</description>
      <etag>"jpd--641529831.48615"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=115794&amp;aid=1102158</link>
      <title>debug.log.gz</title>
      <data encoding="base64">
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
Gmddsk9uyMjILqLd9F25HijlasWOiGuFXjt+emhT3utibBMnSW3ixcZNvCjrRbHnOM/yt739ZtUS
tq70nvWHOkbtcCTLhVcCnEQ63tXsMp8N5n257zgvz6c6qG5XS9jOhcVwNimb2NTW9C/0mGk1q+1L
o647K8ff1M16oSkU2cwp2gJab2EjGrSLyCJxRmfl7JtZOR3nRTmXFGmX37JbHex60yqKq+fXbn1v
XvXpy3rVrOU6zd5b8m9PkGb5X6ZGU0UTNlms2sjZk5MGz1a9hpJs2nWcw+q8Li2lCacunJ25ObnJ
EMbh9aJpd6HSSpqF70oWe9flqw1zw1z9C4zj2a7O1A/KG6aet2MN+Uofpn0/1uU3tkuTLlaxjsjt
VwbyfB6kw2LlT0O34eyuDNbMTSIsRz3SO3ptYHvg7Mn4lpPmPCLJLyexxJoXHdF8d7scy2yOeXpw
3Xv1biodyafT8ajIu+y07fjDNk01TezyI9dg8YqiGaxRNdk6Kwej/FhfW5xVWoUk/4kdxYHev8nf
YMPCjP/v7dm460Xd+6lZwXVpSezRqQ1+k5FZW13zVQYosPlSTl7Xp30vzuTy1Nn+7q1WYRvX83jc
TrZmLBuFrFe+312PuXr/bGwuytlc+rPz0HPchzoibgdp8E0gyvaELGXafIntapQaYRSVbhx2Hp7X
w16qVfg2kYb2hF58OKIPzXe72yvxbCd70ZZPbHZJsXayNEtJcyrK2p5W493ti+J4OhudjerRRalz
pClsz1fa5lqnojbT9BhXK9rdrqtj25lytrs91ZnaLDNJ1K5XWoudC83lTjRsl8w4bFOrqM9n5fEw
179iPh00qRW1jfjDtp3bKy13t7emo2VFehn/XjtXKn2vg03bWlHToTacV/usJW+OaxODrUVE2yu+
+ErLt4+rDILUsBzV5WW8HVdNZ9fc/m8moyo7r8U/+yZEORnop/xWtl4f+cZEtvEeM9t8j5ksy7DH
ZI/JHpM9JnvML7vH9G/eY/r/m3vM7Po9Zra6x4ztt+VoPdS3rlCff3+b6SZ5WPb8KEyaTWazgt9p
m7m/tslsNkV32mZO1zaZ7WS/yzazXttkttPsLtvMvbVNZrsRuMs2c7y2yWzmyJ22mdnaJvPK2rnZ
NnO0tslUxfuJfOs2M17bZC6n2cbbTGdtk9nsMe+0zczXNpnvXxx8cJvprW0yVdHt3DbcZk7WNpnL
7Nx4m1mvbTIXm6LNt5nV2iZTE7y42zbzp7VNpnYkvds28+3aJnOxQdx8m/lwbZPZvgJyl21murbJ
XNuObLLNnK1tMld3dxtuM8u1TWb72sNdtpmjtU1mm1p32WbWa5vMpoo7bTPrtU1ms1m+0zazWNtk
LubI5tvMem2T2VRxp21mvbbJ/PAeM/ut95gxe0z2mOwx2WOyx+R9zN/LHpP3MXkfk/cxeR+T9zF5
H5P3Mf/b9zHvvMe8Lz+uCBbsvcTyQQFexOFFHF7E4UWcP8yLOHxQgA8K8EEBPijABwX4oAAfFOCD
Ar/hBwVkqdpwj6lH3vWDAlKGPSZ7TPaY7DHZY/JBAT4owAcF+KAAHxTggwJ8UIAPCtzrDwpc3Tf+
FnvMhD0me0z2mOwx2WPyPubvZY/J+5i8j8n7mLyPyfuYvI/J+5j/5fuYd9pjehvvMb2P+HuwTfV3
+HuwawU2/nOhdy13Q3sf/nOrAO8AvObvwX4q3uZ/D1ZK8vdg+Xuwv8Xfg11L2t/3j02ABQsWLFiw
YMGC/UJY/h4sfw/2y/492Kuv+nzgFSJ/41eI/I/4pLvPpxD4FAKfQuBTCHwKgU+680l3PunOJ935
pDufdOeT7nzS/Z5/0t3/rfeYCXtM9pjsMdljssfkk+6/lz0mn3Tnk+580p1PuvNJdz7pzifd/9tP
ut9ljxltvMeMPuaT7tFdP+l+tcDmH4S+Y7kb2tvgg+QANwde90n3T8S7wyfdIz7pzifdf5tPul9N
2t/5Z67AggULFixYsGDBfhksn3Tnk+5f+JPuV171+cArRPHGrxDFH/FJ95hPIfApBD6FwKcQ+BQC
n3Tnk+580p1PuvNJdz7pzifd+aT7Pf+ke/xb7zET9pjsMdljssdkj8kn3X8ve0w+6c4n3fmkO590
55PufNKdT7r/t590v8seM2l3gbN6at9xP5ZTVf7ObgYTuS6ZDOpKNoD/uvqh6n4QBVHcfq49SP9t
Pz/Q7hL75rCcV+ezQjpfnsk5MJ+Nxu/M+SS/kO/nJ+Ny2fTf/3L4/OnzJ9c07odmXlfTqcLlP9mV
1qW+z1/mZ8vi9+jzDPcaG1+LHc2tt2/+TKv3pdWN5vqVTUDffn7dzvTIDdZm+qN8YIZy1wzKeTEb
TaU5JjfY+74SZRu/7pp9zE9/ZXf96a+rBTb/4aA7lruhvQ1+uArg5sDrfvrrE/Hu8NNfGT/9xU9/
/TY//ZXdpxMQWLBgwYL93Fh+3oOf9/jCP+9xZZ/3gddJ79lsAgsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYP9XsZELFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBfinsrHo7EKqfZOYkL96Y4aw6s524zEf1ypFlcT4b1e/k0DBdPDqWfhRvjmf5ZV/K
/FrupG68LPP94eGLw/6yjcALTKVVn5Xzef66PJbAzMuv/2SG+WhcDhzHMfXpaG7kNqlq87qqBvc3
rmDBggULFizYz4Lt9XqPjvb3vz80j4+eHZhhNR5Xl3N59oExYWbC0oSxCYfGd00SmDgz0o8gN3Fk
nw9M5JsoN2Fi4tQ8fb7/QjvdL/f3Dv/55FSrkG8PTRSaMNS6pHwkh/p6P4r0ychWEUjVJyZJzKPj
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
jcN2BZLLsHhFIbp6VE22zsrBKD8uRDFrLw4ku07sKA70/rX+BbYa/9/bs3HbCyFpghftEXLu06NT
G/wmI7O2uuarDFAwND+Vk9f1ad+LM0f+bX+nHeka11N53E62ZiwbhSxZvt9F3TVCMBflbC792Xno
Obrw+XaNbiENvglE2Z6T5YA2X2LtyENTTopqINfmOw/P62GvOS03tQhSz+nFByKaPjTf7W4v47m8
4iva8onNLinWTpZmKcnagZPvzqrx7vZFcTydjc5G9eiiPSE2he0pS9tc61TUZpoe45pyd7uujm1n
ytnu9rSZqc0yk0TteqW1xDav7PNRM3dcW53M1KI+n5XHw3xeH59PB11qdRDf+m+vtBbG1nRZUVPF
WjvrlV7tYNO2rch2SDtyXZ+15A1xbWOw1UV0MUeapFqUv2VcZRBUsBjVporVcdV0ds0t/2odVcdZ
PH6ge65yIpNnaFa2Xrrlulc7R7Bgb3gfJErN60qZo0ldLd8Iub8dAwsWLFiwYMGCBQsWLFiwYMGC
BQsWLNg/BtYDCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYs
WLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBg
wYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIF
CxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYs
WLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBg
wYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIF
CxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYs
WLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBg
wYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwf4hsT5YsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBgv2vsAFYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFuynxM6qtwOh+klmTvLijRnOqjPbict8VK8cWRbn
s1H9Tg4N08WjY+lH8eZ4ll/2pcyv5Y4XJcn1sfDS1FyMcjPJz0rje4njBY4fuvKfe30B303NrJxX
4wsN3tMDUw3NaFKXs2FelKasT72PLHdDe/dhsMCCvXVSSfI7sScTK/h9TKr7BfQy3/Hi1Mky52Ob
uamc75nXVW3ywUCKz5t0Mv9abfDff4B8BPs/i9ULCb068Fw3M4+qwTtzUg6rWSnT5VIuFUrzdTEu
JztRHHxj5vWsvf+n/oOLHferB9XOX6vZvBxfHM8G5eT4eC5Tan4+GRz/cHxWj/PJYH780/FEvujd
WkPgeW4U+6Gfeat3nz6XSRmuTuREap/vlHvVZGgCJ3K8rx6Mrj4sdq4vdbKz96ofpOFXD+od18gT
Zzv5+WBUmdh1XXP46mDrLz8fmNC4Jku/epDvDM/qaT9LjYQv0sezenqWT/uheZL4wVYqhVaedc3B
3rOj9WeldF2Oy+lpNSl75UU5qdsjznYuRoOyMulq01lsgtAE3rLx2Ow93d/xzN/sf1vP8rePDneC
KHW3npofzI/mlVkcKyVvOHZ5iHfbIR05Nn/146DnZVm6lblX+yON6Dfff97T573u+bOdunxb6ziu
9i69GphXXuhuefb4Bz35d0/nCViwYMGCBXs/sYsrPT9Mmiu9fCiXa+sXelG6vNCL0s90oZfKVtKL
HT9xko0v866U+T1e5EnT/h/2Ik86F37cNV73SmWUylZaM0M23tXypcp7OpvAggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDB/s6wIViwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYP8Y2Fn1diBUP8nMSV68McNZdWY7cZmP6pUjy+J8NqrfyaFhunh0LP0o3hzP8su+lPm1
3EndeFnm+8PDF4f9ZRuBF5hKqz4r5/P8dXksgZmXX//JDPPRuBw4jmPq09HcyG1S1eZ1VQ0e9Hq9
R0f7+98fmsdHzw7MsBqPq8u5PPvAmDAzYWnC2IRD47smCUycGQl5kJs4ss8HJvJNlJswMXFqnj7f
f6Fd65f7e4f/fHKqVci3h0asYah1SflIDvX1fhTpk5GtIpCqT0ySmEfHrx4/H/395PnR45eHwZtL
qSLKTDzQo6WFUJoamCQ2QaIoaV/uSLFYyucqSnzzj7Oj0x+eXSQv9pLL4pf9mSpiE7kWmWlFvnRK
eiHNelpeHup9eSa192Ozf/BkdOT82fcSx3dTJ5Yq5ND2uFC1Eg6RS4CkXn+oz+t3XeMOjGshnuOL
7uXTgy3fcR1nX6oQWzzUvkj8pLyA40JvUjIONaLyrdhGOig02JIoffPLeOwMyrPKbM+limX8bygc
rgyTfEvGoqvA5qhWYQmxHYsk1IeJxWuxyATSixP7vGfixAQDs0zr3W/r/PWOxiLUIOkt0OMkbBJ/
6bw/sBEN7MPQPgz1mTCOg9UZpIrIlm9GLtSvbeHQDkRob2lXi2fspCt6XuiGYRr2bBVWIbnUxDyy
fWlCm9iISI/kziKcg/jEcV5VfVOX83otnKsF1kK4Gi8JpxZeTHcd1A1CqDFy9SZ3VkOpC4uG80Px
WwvW+lqkHfG7wnJcZG+ZVhQ0cbWDpTkStsFaLl9xrAuDzhE7lm1SDezcD9twKsHOFJX6lhOaPVlt
e08fLxZZqcK/2tUP9mt9Zb0mL27vV2jWF2MNZ9bO61sGcnXU1tdvHVQ7kO1cDnSma3Z4y3DI19XF
cV46zt7L8j8SDLsIShVtUsbaWtyVvHbJkPuyJjnOz6O83y0YW0c6IqE91DaonWoKNLFoVqpMb3on
0YoeHxgv8x0vTp0scxJXY5HbmLm2jKt5KRHVdcizgQh0TZUETXKtSO73Izd2vz2Z5ZPidOfXzK7g
icZZl+yTGzIysotoN32fhCc/tplZJjJhVeFaodeOnx7alPe6GNvESVKbeLFxEy/KelHsOc6z/G1v
v1m1hK0rvWf9oY5ROxzJcuGVACeRjnc1u8xng3lf7jvOy/OpDqrb1RK2c2ExnE3KJja1Nf0LPWZa
zWp7EeG6s3L8Td2sF5pCkc2coi2g9RY2okG7iCwSZ3RWzr6ZldNxXpRzSZF2+S271cGuN62iuHp+
7db3alLnRd2X9apZy3Wavbfk354gzfK/TI2miiZssli1kbMnJw2erXoNJdm06ziH1XldWkoTTl04
O3NzcpMhjMPrRdPuQqWVNAvflSz2rstXG+aGafPaa3J0PNvVmfpBecPU83asIV/pw7Tvx7r8xnZp
0sUq1hG5/cpAns+DdFgsrw28NpzdlcGauUmE5ahHekevDWwPnD0Z33LSnEck+eUklljzoiOa726X
Y5nNMU8Prnuv3k2lI/l0Oh4VeZedth1/2KappoldfuQaLF5RNIM1qiZbZ+VglB8XophVWoUk/4kd
xYHev8nfYMPCjP/v7dm460Xd+6lZwXVpSezRqQ1+k5FZW13zVQYosPlSTl7Xp30vzuTy1Nn+7q1W
YRvX83jcTrZmLBuFrFe+312PuXr/bGwuytlc+rPz0HPchzoibgdp8E0gyvaELGXafIntapQaYRTV
QHYROw/P62Ev1Sp8m0hDe0IvPhzRh+a73e2VeLaTvWjLJza7pFg7WZqlpDkVZW1Pq/Hu9kVxPJ2N
zkb16KLUOdIUtucrbXOtU1GbaXqMqxXtbtfVse1MOdvdnupMbZaZJGrXK63FzoXmcicatktmHLap
VdTns/J4mM/r4/PpoEmtqG3EH7bt3F5pubu9NR0tK9LL+PfauVLpex1s2taKmg614bzaZy15c1yb
GGwtItpe8cVXWr59XGUQpIblqC4v4+24ajq75vZ/MxlV2Xkt/j3QPVc5kSvroVnZeumW695ucsGC
BQsWLFiwX+w15Sg1rytljiZ1tXxR+f52DCxYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsB+NnVVvB0L1k8yc5MUbM5xVZ7YTl/mo
XjmyLM5no/qdHBqmi0fH0o/izfEsv+xLmV/LndRNlmW+Pzx8cdhfthF4gam06rNyPs9fl8cSmHn5
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
wYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIF
CxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYs
WLBgwYIFCxYsWLBgwYIFCxbsHwYbgwULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggX7O8Am
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQv2942dVW8H
QvWTzJzkxRsznFVnthOX+aheObIszmej+p0cGqaLR8fSj+LN8Sy/7EuZX8sdL0qS62Phpam5GOVm
kp+VxvcSxwscP3TlP/f6Ar6bmlk5r8YXGrynB6YamtGkLmfDvChNWZ96H1nuhvbuw2CBBXvrpJLk
d2JPJlbw+5hUdwbeq/CDBQsW7D3E/qYnAi/zHS9OnSxzPraZm8r5nnld1SYfDKT4vAm++ddqg/9e
ltSLX72i9Vw3M4+qwTtzUg6rWSlNX8rlbWm+LsblZCeKg2/MvJ619//Uf3Cx4371oNr5azWbl+OL
49mgnBwfz4U3P58Mjn84PqvH+WQwP/7peCJf9G6t/fA8N4r90M+81btPn0sHw9WgJFL7fKfcqyZD
EziR4331YHT1YbFzfamTnb1X/SANv3pQ77hGnjjbyc8Ho8rEruuaw1cHW3/5+cCExjVZ+tWDfGd4
Vk/7WWoknyJ9PKunZ/m0H5oniR9spVJo5VnXHOw9O1p/VkrX5bicnlaTsldelJO6PeJs52I0KCuT
rjadxSYITeAtG4/N3tP9Hc/8zf639Sx/++hwJ4hSd+up+cH8aF6ZxbFS8oZjl4d4tx3SkWPzVz8O
el6WpVuZe7U/0oh+8/3nPX3e654/26nLt7WO42rv0quBeeWF7pZnj3/Qk39/gIUDLFiw/8vYxVnT
D5PmrJkP5dS3ftKM0uVJM0o/00kzla2kFzt+4iQbnzKvlPk9njClaf8Pe8KUzoUfd77sXqmMUrnE
08yQC8Jq+VLlPZ1NYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBXsjNgULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGB/C+ysejsQqp9k5iQv3pjhrDqznbjMR/XKkWVxPhvV7+TQcPnoWPpRvDme5Zd9
KfNruZO68f0NBViwYMHeN+z3h4cvDvvLtTzwAlNpD87K+Tx/XR4LfV5+/SczzEfjcuA4jqlPR3Mj
t0lVm9dVNXjQ6/UeHe3vf39oHh89OzDDajyuLufy7ANjwsyEpQljEw6N75okMHFmJChBbuLIPh+Y
yDdRbsLExKl5+nz/hUawX+7vHf7zyalWId8emig0Yah1SflIDvX1fhTpk5GtIpCqT0ySmEfHrx4/
H/395PnR45eHwZtLqSLKTDzQo6WFUJoamCQ2QaIoaV/uSLFYyucqSnzzj7Oj0x+eXSQv9pLL4pf9
mSpiE7kWmWlFvnRKeiHNelpeHup9eSa192Ozf/BkdOT82fcSx3dTJ5Yq5ND2uFC1Eg6RS4CkXn+o
z+t3XeMOjGshnuOL7uXTgy3fcR1nX6oQWzzUvkj8pLyA40JvUjIONaLyrdhGOig02HJC7ptfxmNn
UJ5VZnsuVSzjf0PhcGWY5FsyFl0FNou0CkuI7VgkoT5MLF6LRSaQXpzY5z0TJyYYmGXi7X5b5693
NBahBklvgR4nYZP4S+f9gY1oYB+G9mGoz4RxHKzmuCoiW74ZuVC/toVDOxChvaVdLZ6x06LoeaEb
hmnYs1VYheRSE/PI9qUJbWIjIj2SO4twDuITx3lV9U1dzuu1cK4WWAvharwknFp4MSF1UDcIocbI
1ZvcWQ2lTn0N54fitxas9dVCO+J3heW4yN4yrSho4moHS3MkbIO1XGDiWBcGnSN2LNukGti5H7bh
VIKdKSr1LSc0e7Ie9p4+XiyDUoV/tasf7Nf62ndNXtzer9CsL5cazqyd17cM5Oqora+wOqh2INu5
HOhM1+zwluGQr6uL47x0nL2X5X8kGHYRlCrapIy1tbgree2SIfdlTXKcn0d5v1swto50REJ7qG1Q
O9UUaGLRrFSZ3vROohU9PjBe5jtenDpZ5iSuxiK3MXNtGVfzUiKq65BnAxHomioJmuRakdzvR27s
fnsyyyfF6c6vmV3BE42zLtknN2RkZBfRbvo+CU9+bDOzTGTCqsK1Qq8dPz20Ke91MbaJk6Q28WLj
Jl6U9aLYc5xn+dvefrNqCVtXes/6Qx2jdjiS5cIrAU4iHe9qdpnPBvO+3Hecl+dTHVS3qyVs58Ji
OJuUTWxqa/oXesy0mtX2NO+6s3L8Td2sF5pCkc2coi2g9RY2okG7iCwSZ3RWzr6ZldNxXpRzSZF2
+S271cGuN62iuHp+7db3alLnRd2X9apZy3Wavbfk354gzfK/TI2miiZssli1kbMnJw2erXoNJdm0
6ziH1XldWkoTTl04O3NzcpMhjMPrRdPuQqWVNAvflSz2rstXG+aGafPaa3J0PNvVmfpBecPU83as
IV/pw7Tvx7r8xnZp0sUq1hG5/cpAns+DdFgsrw28NpzdlcGauUmE5ahHekevDWwPnD0Z33LSnEck
+eUklljzoiOa726XY5nNMU8Prnuv3k2lI/l0Oh4VeZedth1/2KappoldfuQaLF5RNIM1qiZbZ+Vg
lB8XophVWoUk/4kdxYHev8nfYMPCjP/v7dm460Xd+6lZwXVpSezRqQ1+k5FZW13zVQYosPlSTl7X
p30vzuTy1Nn+7q1WYRvX83jcTrZmLBuFrFe+312PuXr/bGwuytlc+rPz0HPchzoibgdp8E0gyvaE
LGXafIntapQaYRTVQK7zdx6e18NeqlX4NpGG9oRefDiiD813u9sr8Wwne9GWT2x2SbF2sjRLSXMq
ytqeVuPd7YvieDobnY3q0UWpc6QpbM9X2uZap6I20/QYVyva3a6rY9uZcra7PdWZ2iwzSdSuV1qL
nQvN5U40bJfMOGxTq6jPZ+XxMJ/Xx+fTQZNaUduIP2zbub3Scnd7azpaVqSX8e+1c6XS9zrYtK0V
NR1qw3m1z1ry5rg2MdhaRLS94ouvtHz7uMogSA3LUV1exttx1XR2ze3/ZjKqsvNa/Huge65yIlfW
Q7Oy9dIt1/3choIFCxYsWLBgv+R7d/LodaXM0aSulm/e3d+OgQULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB/o6ws+rtQKh+kpmTvHhj
hrPqzHbiMh/VK0eWxflsVL+TQ8Plo2PpR/HmeJZf9qXMr+VO6ibLMt8fHr447C/bCLzAVFr1WTmf
56/LYwnMvPz6T2aYj8blwHEcU5+O5kZuk6o2r6tq8KDX6z062t///tA8Pnp2YIbVeFxdzuXZB8aE
mQlLE8YmHBrfNUlg4sxIyIPcxJF9PjCRb6LchImJU/P0+f4L7Vq/3N87/OeTU61Cvj00UWjCUOuS
8pEc6uv9KNInI1tFIFWfmCQxj45fPX4++vvJ86PHLw+DN5dSRZSZeKBHSwuhNDUwSWyCRFHSvtyR
YrGUz1WU+OYfZ0enPzy7SF7sJZfFL/szVcQmci0y04p86ZT0Qpr1tLw81PvyTGrvx2b/4MnoyPmz
7yWO76ZOLFXIoe1xoWolHCKXAEm9/lCf1++6xh0Y10I8xxfdy6cHW77jOs6+VCG2eKh9kfhJeQHH
hd6kZBxqROVbsY10UGiwJVH65pfx2BmUZ5XZnksVy/jfUDhcGSb5loxFV4HNUa3CEmI7FkmoDxOL
12KRCaQXJ/Z5z8SJCQZmmda739b56x2NRahB0lugx0nYJP7SeX9gIxrYh6F9GOozYRwHqzNIFZEt
34xcqF/bwqEdiNDe0q4Wz9hJV/S80A3DNOzZKqxCcqmJeWT70oQ2sRGRHsmdRTgH8YnjvKr6pi7n
9Vo4VwushXA1XhJOLbyY7jqoG4RQY+TqTe6shlIXFg3nh+K3Fqz1tUg74neF5bjI3jKtKGjiagdL
cyRsg7VcvuJYFwadI3Ys26Qa2LkftuFUgp0pKvUtJzR7str2nj5eLLJShX+1qx/s1/rKek1e3N6v
0KwvxhrOrJ3Xtwzk6qitr986qHYg27kc6EzX7PC6cPj6dXVxnJeOs/ey/E/f+HYRlCrapIy1tbgr
ee2SIfdlTXKcn0d5v1swto50REJ7qI2/dqop0MSiWakyvemdRCt6fGC8zHe8OHWyzElcjUVuY+ba
Mq7mpURU1yHPBiLQNVUSNMm1Irnfj9zY/fZklk+K051fM7uCJxpnXbJPbshIOyiL6fskPPmxzcwy
kwmrCtcear8tR+uhvnWF+nwbZps7SarfdZM8LHt+FCaO8yx/22tW8GbAEluRdiHUYWpHJFmuvRLj
JDL71ewynw3mfRl8x3l5roPq6q2tJWynwyLBm6xNbHbrDCjMdFrNansV4bqzcvxNO9nt2UjTwdeD
mgJab2GDGrTrSGOpR2fl7JtZOR3nRTlfTLOhBr9dIOyS0yqKq6dYu8TvVZM6L+q+LFh2Mdc5ct2q
f0uOtOv/IjeaObJIG1mv2sjZ85MEr4nOKkrTaddxDqvzuuyvr52duTm/yRDG4TUi0bdXKo1EFe8n
snddytowC7NJbK9J0vFsdznNbpYvmJpysVnpg4B8PbPHzeoW2PUq1hG5/eIgz4N0WNx2cbBqXiwi
y1GPmosD7YEsGzK+pSrs9yT55TyWWPOiI5rvbpdjmc0xz0zq3qt3U+lIPp2OR0W+zE7bjj9s0zQO
2xVILsPiFYXo6lE12TorB6P8uBDFrL04kOw6saM40PvX+hfYavx/b8/GbS+EpAletEfIuU+PTm3w
m4zM2uqarzJAwdD8VE5e16d9L87k+tTZ/k470jWup/K4nWzNWDYKWbJ8v4u6a4RgLsrZXPqz89Bz
dOHz7RrdQhp8E4iyPSfLAW2+xNqRh6acFNVAthE7D8/rYa85LTe1CFLP6cUHIpo+NN/tbi/jubzi
K9ryic0uKdZOlmYpydqBk+/OqvHu9kVxPJ2Nzkb16KI9ITaF7SlL21zrVNRmmh7jmnJ3u66ObWfK
2e72tJmpzTKTRO16pbXENq/s81Ezd1xbnczUoj6flcfDfF4fn08HXWp1EN/6b6+0FsbWdFlRU8Va
O+uVXu1g07atyHZIO3Jdn7XkDXFtY7DVRXQxR5qkWpS/ZVxlEFSwGNWmitVx1XR2zS3/ah1V2Xp1
/x7onqucyOQZmpWtl2657u0mFyxYsGDBggULFizYG94HkUevK2WOJnW1fCPk/nYMLFiwYMGCBQv2
PmIzsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggUL9vNj/b7rggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggX7G2E9sGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggV7
P7Gz6u1AqH6SmZO8eGOGs+rMduIyH9UrR5bF+WxUv5NDw3Tx6Fj6Ubw5nuWXfSnza7njRUlyfSy8
NDUXo9xM8rPS+F7ieIHjh678515fwHdTMyvn1fhCg/f0wFRDM5rU5WyYF6Up61PvI8vd0N57QKnI
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
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW
LFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiw
YMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGC
BQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMHeX2wIFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggUL
FixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixY
sGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBgr0H2Fn1diBUP8nMSV68McNZdWY7cZmP6vvbLbBgwYIFCxYsWLBg7y+2LM5no/qd
WMN08ehYdMWb41l+2Zfu/FruRJF7XzsIFixYsGDBggULFixYsGDBggULFixYsGDBggULFixYsGDB
ggULFixYsGDBggULFixYsGDBggX7v4h9+nz/RV9/vlt/bsQPXPP9ZKDUPaGary+3KuFP6ryozWmZ
D8rZn+zPfvfNL+OxMyjPqj9GFMCCBQsW7JfDJmlsxlX1RqnDaibK16NC+PJMaf71a3b6JDz5sal/
4AY9L3QHxSCVdrLBv6+vMXVdU74dzWut8mSWT4pTI+723mk+PzX/CvKhF0TeMEmKMC2TclhG0cD3
hm7gD7OizG6oOvYDkw/smfHnp3/pv3x6sOU77tbR4wOTeo7vxY6fOEk/cmP326a9nbYHH2rw22t/
0UqUmteVtjaa1JWV2N+00h0brR576y9liT7i50Kjz3VVEH3yBIg+XwJEXzoBojskQLpxAqQfkQDp
50qA9JMnQPr5EiD90gmQbp4AnrtpAuiRd00AKfN5EqBhf8oEWKvxUybAWtWfPwGuDuoHEiDcOAHC
j0iAz7Ux9D75NYD3+a4BvC99DeDd4RrA2/gU4H3EKcD7XKcA75OfArzPdwrwvvQpwLvDKcD3N00A
PfKuCSBlPk8CNOxPmQBrNX7KBFir+vMnwNVB/UACxBsnQPwRCRB/rgSIP3kCxJ8vAeIvnQDx5gkQ
bHwRGHzERWDwuS4Cg09+ERh8vovA4EtfBAZ3uAgMNr4IDD7iIjD4XBeBwSe/CAw+30Vg8KUvAoM7
XAQGmZmVr6Wj5UyHNW5es8hfl2f59BtT73ieG8V+GERZWyAMNysQh12BDVuIuxaiDVtIuhaiDVtI
mhYCfaVsowJp2BXYsIW0a8HbsIWsa8HbsIWsa8HfrIXQ7VrwN2shdLsWgg1b8LoWNsyl0Ota2DCX
Qr9rYcNcCv2uhQ1zKQy6FjbMJRkIWyDcNJfkX1dgwxbCroUNcymMuhY2zKUw6lrYNJfiroVNcynu
Wtg0l5KuhU1zKela2DSX0q6FTXMp7VrYNJeyroVNc6md09GmuRS1czraNJcit2thw1yKvK4Fb8M3
CpojN7tASOJgWWaF43uJrbR7qn/F8FFn+8KXs31QJEnSC8sy+Pf1NW5ytvfLIouCzPVPToooD5Oh
nw7jNBjGRSznOj++oeqPP9t/qMFvrx2h2872n2c0oyi6vutempqLUW4m+VlpvMx3vDh1ssxJ3OuP
991UsmFejS/U//TAVEPtRTkb5kVpyvrU+8hyN7R3xbcyGL8Pne97MpK1Jo8UnzdvwZp/rTj//TtJ
gN9gOudZLxlm2X8xncNyUHqDMCkKt8izzM3jYhjJdUORhydB7H366fyhBn8v07m7OmM634Pp7Lub
nc79TuVHGxbo1vRgwxaCroVgwxaCroVwwxbCroVwwxbCroVowxairoVowxbaM1/cdzdsIXa7Ahu2
EHcteBu2kHQteBu2kHQtbJpLadfCprmUdi1smktZ18KmuZR1LWyYS7HbtbBhLsVu18KGuRR7XQsb
5lLsNS0km+ZS3M7pZNNciv2uhQ1zKQ66FjbMpTjoWtgwl+Kwa2HDXIrDroUNcymOuhY2zKU46lrY
NJfiroVNcynuWtg0l5KuhU1zqZ3T6ca51M7pdONcSrsWNs2lrGth01zKuhY2zKXE7VrYMJcSt2th
w1xKvK6FDXMp8boWNsylxO9a2DCXEr9rYcNcSoKuhQ1zKWnndLZpLiXtnM42zaUk7FrYMJeSqGth
w1xKokULm71ekrSvjNkC9h2M5RVZmGVG7k/L2fidkXrORpPcbjTaQx78f07zBtrjwyIA
</data>
    </attachment><category>None</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-01-22 08:26</date>
      <description>Date: 2005-01-22 08:26
Sender: tries
Logged In: YES 
user_id=438614

It is the libosip2 package that fails to parse this broken
SIP message. So a workaround/hack should be made there.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2005-01-22 08:10</date>
      <description>Date: 2005-01-22 08:10
Sender: anders_l
Logged In: YES 
user_id=918750

Hi!

I dont have the code for the client
it's the Intgate SIParator

But we are gonna forward this issue to them.

But is it possbile to do something on sixproxd so it just 
corrects that or igonre it ?


Regards Anders</description>
      <sender>anders_l</sender>
      <sender_user_id>918750</sender_user_id>
    </comment><comment>
      <date>2005-01-22 02:01</date>
      <description>Date: 2005-01-22 02:01
Sender: tries
Logged In: YES 
user_id=438614

It looks like you SIP client does not properly fill in the
playload and libosip then fails to parse the SIP message
(that is what the ERROR messge from
the log tells me).

Lets take a look at the payload part:

  49 4e 46 4f 20 73 69 70 3a 65 45 62 44 6d 4e 49 INFO
sip:eEbDmNI
[...]
  36 31 2e 32 34 33 3b 6c 72 3e 0d 0a 43 6f 6e 74
61.243;lr&gt;..Cont
  65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 ent-Type:
applic
  61 74 69 6f 6e 2f 6d 65 64 69 61 5f 63 6f 6e 74
ation/media_cont
  72 6f 6c 2b 78 6d 6c 0d 0a 43 6f 6e 74 65 6e 74
rol+xml..Content
  2d 4c 65 6e 67 74 68 3a 31 36 39 0d 0a 0d 0a 3c
-Length:169....&lt;
  3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e ?xml
version="1.
  30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 0"
encoding="utf
  2d 38 22 20 3f 3e 3c 6d 65 64 69 61 5f 63 6f 6e -8"
?&gt;&lt;media_con
  74 72 6f 6c 3e 3c 76 63 5f 70 72 69 6d 69 74 69
trol&gt;&lt;vc_primiti
  76 65 3e 3c 74 6f 5f 65 6e 63 6f 64 65 72 3e 3c
ve&gt;&lt;to_encoder&gt;&lt;
  70 69 63 74 75 72 65 5f 66 61 73 74 5f 75 70 64
picture_fast_upd
  61 74 65 3e 3c 2f 70 69 63 74 75 72 65 5f 66 61
ate&gt;&lt;/picture_fa
  73 74 5f 75 70 64 61 74 65 3e 3c 2f 74 6f 5f 65
st_update&gt;&lt;/to_e
  6e 63 6f 64 65 72 3e 3c 2f 76 63 5f 70 72 69 6d
ncoder&gt;&lt;/vc_prim
  69 74 69 76 65 3e 3c 2f 6d 65 64 69 61 5f 63 6f
itive&gt;&lt;/media_co
  6e 74 72 6f 6c 3e 0a 00                         ntrol&gt;.. 
      

The last byte is a 0x00 byte, whereas the to-be-used
end-of-line
sequence should be 0x0d 0x0a (CR, LF). The 0x00 is
interpreted as end-of-string (C language) and does DONT
count as part of the payload.
This results in a payload that is one byte too short (only
168 bytes, and
not 169 bytes as claimed in the header).

If I feed the broken packet (1:1 as from you log)  into
siproxd I
get the same failure. If I correct the last end-of-line
sequence to
0x0d, 0x0a it does work.

Please have your SIP client fixed.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-01-22 02:01</date_closed>
    <date_last_updated>2005-01-22 08:26</date_last_updated>
    <date_submitted>2005-01-14 00:15</date_submitted>
    <description>Hi!

I have installed the siprocd 0.5.9 and ibosip2-2.0.9
I got problem on the connection, the debug file i
attach i had problem with sending text mess.

Next connection i tested everything worked fine for 30
seconds then the video died. I dont have any debug file
for this.


// Anders Add a Comment:</description>
    <group>None</group>
    <item_id>1102158</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>3</number_of_comments>
    <priority>5</priority>
    <resolution>Rejected</resolution>
    <status>Closed</status>
    <submitted_by>Anders Larsson - anders_l</submitted_by>
    <summary>sipclient problem</summary>
    <title>sipclient problem</title>
  </item>
<item id="1144195">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="121862">
      <content_disposition>attachment; filename=osip2_2.diff</content_disposition>
      <content_length>5612</content_length>
      <description>libosip2 2.2 support patch</description>
      <etag>"jpd--2126802021.5612"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=121862&amp;aid=1144195</link>
      <title>osip2_2.diff</title>
      <data encoding="base64">
LS0tIHNpcHJveGQtMC41LjEwL3NyYy9zaXByb3hkLmMub3JpZwkyMDA1LTAxLTA4IDA1OjQxOjQ2
LjAwMDAwMDAwMCAtMDUwMAorKysgc2lwcm94ZC0wLjUuMTAvc3JjL3NpcHJveGQuYwkyMDA1LTAy
LTE4IDIxOjIwOjIyLjAwMDAwMDAwMCAtMDUwMApAQCAtMzIxLDcgKzMyMSw3IEBACiAgICAgICAg
KiBQcm94eSBCZWhhdmlvciAtIFJlcXVlc3QgVmFsaWRhdGlvbiAtIFJlYXNvbmFibGUgU3ludGF4
CiAgICAgICAgKiAocGFyc2UgdGhlIHJlY2VpdmVkIG1lc3NhZ2UpCiAgICAgICAgKi8KLSAgICAg
IHN0cz1vc2lwX21lc3NhZ2VfcGFyc2UodGlja2V0LnNpcG1zZywgYnVmZik7CisgICAgICBzdHM9
b3NpcF9tZXNzYWdlX3BhcnNlKHRpY2tldC5zaXBtc2csIGJ1ZmYsIHNpemVvZihidWZmKS0xKTsK
ICAgICAgIGlmIChzdHMgIT0gMCkgewogICAgICAgICAgRVJST1IoIm9zaXBfbWVzc2FnZV9wYXJz
ZSgpIGZhaWxlZC4uLiB0aGlzIGlzIG5vdCBnb29kIik7CiAgICAgICAgICBEVU1QX0JVRkZFUigt
MSwgYnVmZiwgaSk7Ci0tLSBzaXByb3hkLTAuNS4xMC9zcmMvcHJveHkuYy5vcmlnCTIwMDUtMDEt
MjQgMTQ6MTI6NDAuMDAwMDAwMDAwIC0wNTAwCisrKyBzaXByb3hkLTAuNS4xMC9zcmMvcHJveHku
YwkyMDA1LTAyLTE4IDIxOjMzOjM3LjAwMDAwMDAwMCAtMDUwMApAQCAtODEsNiArODEsNyBAQAog
ICAgb3NpcF91cmlfdCAqdXJsOwogICAgaW50IHBvcnQ7CiAgICBjaGFyICpidWZmZXI7CisgICBz
aXplX3QgYnVmZmVyX2xlbjsKICAgIG9zaXBfbWVzc2FnZV90ICpyZXF1ZXN0OwogICAgc3RydWN0
IHNvY2thZGRyX2luICpmcm9tOwogCkBAIC01MTYsMTQgKzUxNywxNCBAQAogICAgKiBSRkMgMzI2
MSwgU2VjdGlvbiAxNi42IHN0ZXAgMTAKICAgICogUHJveHkgQmVoYXZpb3IgLSBGb3J3YXJkIHRo
ZSBuZXcgcmVxdWVzdAogICAgKi8KLSAgIHN0cyA9IG9zaXBfbWVzc2FnZV90b19zdHIocmVxdWVz
dCwgJmJ1ZmZlcik7CisgICBzdHMgPSBvc2lwX21lc3NhZ2VfdG9fc3RyKHJlcXVlc3QsICZidWZm
ZXIsICZidWZmZXJfbGVuKTsKICAgIGlmIChzdHMgIT0gMCkgewogICAgICAgRVJST1IoInByb3h5
X3JlcXVlc3Q6IG9zaXBfbWVzc2FnZV90b19zdHIgZmFpbGVkIik7CiAgICAgICByZXR1cm4gU1RT
X0ZBSUxVUkU7CiAgICB9CiAKICAgIHNpcHNvY2tfc2VuZChzZW5kdG9fYWRkciwgcG9ydCwgdGlj
a2V0LT5wcm90b2NvbCwKLSAgICAgICAgICAgICAgICBidWZmZXIsIHN0cmxlbihidWZmZXIpKTsg
CisgICAgICAgICAgICAgICAgYnVmZmVyLCBidWZmZXJfbGVuKTsgCiAgICBvc2lwX2ZyZWUgKGJ1
ZmZlcik7CiAKICAgLyoKQEAgLTU2NSw2ICs1NjYsNyBAQAogICAgb3NpcF92aWFfdCAqdmlhOwog
ICAgaW50IHBvcnQ7CiAgICBjaGFyICpidWZmZXI7CisgICBzaXplX3QgYnVmZmVyX2xlbjsKICAg
IG9zaXBfbWVzc2FnZV90ICpyZXNwb25zZTsKICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqZnJvbTsK
IApAQCAtOTEwLDE0ICs5MTIsMTQgQEAKICAgICAgIH0KICAgIH0KIAotICAgc3RzID0gb3NpcF9t
ZXNzYWdlX3RvX3N0cihyZXNwb25zZSwgJmJ1ZmZlcik7CisgICBzdHMgPSBvc2lwX21lc3NhZ2Vf
dG9fc3RyKHJlc3BvbnNlLCAmYnVmZmVyLCAmYnVmZmVyX2xlbik7CiAgICBpZiAoc3RzICE9IDAp
IHsKICAgICAgIEVSUk9SKCJwcm94eV9yZXNwb25zZTogb3NpcF9tZXNzYWdlX3RvX3N0ciBmYWls
ZWQiKTsKICAgICAgIHJldHVybiBTVFNfRkFJTFVSRTsKICAgIH0KIAogICAgc2lwc29ja19zZW5k
KHNlbmR0b19hZGRyLCBwb3J0LCB0aWNrZXQtPnByb3RvY29sLAotICAgICAgICAgICAgICAgIGJ1
ZmZlciwgc3RybGVuKGJ1ZmZlcikpOyAKKyAgICAgICAgICAgICAgICBidWZmZXIsIGJ1ZmZlcl9s
ZW4pOyAKICAgIG9zaXBfZnJlZSAoYnVmZmVyKTsKICAgIHJldHVybiBTVFNfU1VDQ0VTUzsKIH0K
QEAgLTkzOCw2ICs5NDAsNyBAQAogICAgc3RydWN0IGluX2FkZHIgbWFwX2FkZHIsIGFkZHJfc2Vz
cywgYWRkcl9tZWRpYSwgb3V0c2lkZV9hZGRyLCBpbnNpZGVfYWRkcjsKICAgIGludCBzdHM7CiAg
ICBjaGFyICpib2R5YnVmZjsKKyAgIHNpemVfdCBib2R5YnVmZl9sZW47CiAgICBjaGFyIGNsZW5b
OF07IC8qIGNvbnRlbnQgbGVuZ3RoOiBwcm9iYWJseSBuZXZlciBtb3JlIHRoYW4gNyBkaWdpdHMg
ISovCiAgICBpbnQgbWFwX3BvcnQsIG1zZ19wb3J0OwogICAgaW50IG1lZGlhX3N0cmVhbV9ubzsK
QEAgLTk2Niw3ICs5NjksNyBAQAogICAgICAgfQogICAgfQogCi0gICBzdHMgPSBvc2lwX2JvZHlf
dG9fc3RyKGJvZHksICZib2R5YnVmZik7CisgICBzdHMgPSBvc2lwX2JvZHlfdG9fc3RyKGJvZHks
ICZib2R5YnVmZiwgJmJvZHlidWZmX2xlbik7CiAgICBzdHMgPSBzZHBfbWVzc2FnZV9pbml0KCZz
ZHApOwogICAgc3RzID0gc2RwX21lc3NhZ2VfcGFyc2UgKHNkcCwgYm9keWJ1ZmYpOwogICAgb3Np
cF9mcmVlKGJvZHlidWZmKTsKQEAgLTk4MCwxMSArOTgzLDEyIEBACiBpZiAoY29uZmlndXJhdGlv
bi5kZWJ1Z2xldmVsKQogeyAvKiBqdXN0IGR1bXAgdGhlIGJ1ZmZlciAqLwogICAgY2hhciAqdG1w
LCAqdG1wMjsKKyAgIHNpemVfdCB0bXBfbGVuOwogICAgc3RzID0gb3NpcF9tZXNzYWdlX2dldF9i
b2R5KG15bXNnLCAwLCAmYm9keSk7Ci0gICBzdHMgPSBvc2lwX2JvZHlfdG9fc3RyKGJvZHksICZ0
bXApOworICAgc3RzID0gb3NpcF9ib2R5X3RvX3N0cihib2R5LCAmdG1wLCAmdG1wX2xlbik7CiAg
ICBvc2lwX2NvbnRlbnRfbGVuZ3RoX3RvX3N0cihteW1zZy0+Y29udGVudF9sZW5ndGgsICZ0bXAy
KTsKICAgIERFQlVHKCJCb2R5IGJlZm9yZSByZXdyaXRlIChjbGVuPSVzLCBzdHJsZW49JWkpOlxu
JXNcbi0tLS0iLAotICAgICAgICAgdG1wMiwgc3RybGVuKHRtcCksIHRtcCk7CisgICAgICAgICB0
bXAyLCB0bXBfbGVuLCB0bXApOwogICAgb3NpcF9mcmVlKHRtcCk7CiAgICBvc2lwX2ZyZWUodG1w
Mik7CiB9CkBAIC0xMjEwLDEyICsxMjE0LDEyIEBACiAgICBzZHBfbWVzc2FnZV9mcmVlKHNkcCk7
CiAKICAgIC8qIGluY2x1ZGUgbmV3IGJvZHkgKi8KLSAgIG9zaXBfbWVzc2FnZV9zZXRfYm9keSht
eW1zZywgYm9keWJ1ZmYpOworICAgb3NpcF9tZXNzYWdlX3NldF9ib2R5KG15bXNnLCBib2R5YnVm
ZiwgYm9keWJ1ZmZfbGVuKTsKIAogICAgLyogZnJlZSBjb250ZW50IGxlbmd0aCByZXNvdXJjZSBh
bmQgaW5jbHVkZSBuZXcgb25lKi8KICAgIG9zaXBfY29udGVudF9sZW5ndGhfZnJlZShteW1zZy0+
Y29udGVudF9sZW5ndGgpOwogICAgbXltc2ctPmNvbnRlbnRfbGVuZ3RoPU5VTEw7Ci0gICBzcHJp
bnRmKGNsZW4sIiVpIixzdHJsZW4oYm9keWJ1ZmYpKTsKKyAgIHNwcmludGYoY2xlbiwiJWkiLGJv
ZHlidWZmX2xlbik7CiAgICBzdHMgPSBvc2lwX21lc3NhZ2Vfc2V0X2NvbnRlbnRfbGVuZ3RoKG15
bXNnLCBjbGVuKTsKIAogICAgLyogZnJlZSBvbGQgYm9keSAqLwpAQCAtMTIyNCwxMSArMTIyOCwx
MiBAQAogaWYgKGNvbmZpZ3VyYXRpb24uZGVidWdsZXZlbCkKIHsgLyoganVzdCBkdW1wIHRoZSBi
dWZmZXIgKi8KICAgIGNoYXIgKnRtcCwgKnRtcDI7CisgICBzaXplX3QgdG1wX2xlbjsKICAgIHN0
cyA9IG9zaXBfbWVzc2FnZV9nZXRfYm9keShteW1zZywgMCwgJmJvZHkpOwotICAgc3RzID0gb3Np
cF9ib2R5X3RvX3N0cihib2R5LCAmdG1wKTsKKyAgIHN0cyA9IG9zaXBfYm9keV90b19zdHIoYm9k
eSwgJnRtcCwgJnRtcF9sZW4pOwogICAgb3NpcF9jb250ZW50X2xlbmd0aF90b19zdHIobXltc2ct
PmNvbnRlbnRfbGVuZ3RoLCAmdG1wMik7CiAgICBERUJVRygiQm9keSBhZnRlciByZXdyaXRlIChj
bGVuPSVzLCBzdHJsZW49JWkpOlxuJXNcbi0tLS0iLAotICAgICAgICAgdG1wMiwgc3RybGVuKHRt
cCksIHRtcCk7CisgICAgICAgICB0bXAyLCB0bXBfbGVuLCB0bXApOwogICAgb3NpcF9mcmVlKHRt
cCk7CiAgICBvc2lwX2ZyZWUodG1wMik7CiB9Ci0tLSBzaXByb3hkLTAuNS4xMC9zcmMvcmVnaXN0
ZXIuYy5vcmlnCTIwMDUtMDEtMDggMDU6MDU6MTIuMDAwMDAwMDAwIC0wNTAwCisrKyBzaXByb3hk
LTAuNS4xMC9zcmMvcmVnaXN0ZXIuYwkyMDA1LTAyLTE4IDIxOjMxOjQ1LjAwMDAwMDAwMCAtMDUw
MApAQCAtNDk1LDYgKzQ5NSw3IEBACiAgICBvc2lwX3ZpYV90ICp2aWE7CiAgICBpbnQgcG9ydDsK
ICAgIGNoYXIgKmJ1ZmZlcjsKKyAgIHNpemVfdCBidWZmZXJfbGVuOwogICAgc3RydWN0IGluX2Fk
ZHIgYWRkcjsKICAgIG9zaXBfaGVhZGVyX3QgKmV4cGlyZXNfaGRyOwogCkBAIC01NTAsNyArNTUx
LDcgQEAKICAgICAgIH0KICAgIH0gICAKIAotICAgc3RzID0gb3NpcF9tZXNzYWdlX3RvX3N0cihy
ZXNwb25zZSwgJmJ1ZmZlcik7CisgICBzdHMgPSBvc2lwX21lc3NhZ2VfdG9fc3RyKHJlc3BvbnNl
LCAmYnVmZmVyLCAmYnVmZmVyX2xlbik7CiAgICBpZiAoc3RzICE9IDApIHsKICAgICAgIEVSUk9S
KCJyZWdpc3Rlcl9yZXNwb25zZTogbXNnXzJjaGFyIGZhaWxlZCIpOwogICAgICAgcmV0dXJuIFNU
U19GQUlMVVJFOwpAQCAtNTYzLDcgKzU2NCw3IEBACiAgICAgICBwb3J0PWNvbmZpZ3VyYXRpb24u
c2lwX2xpc3Rlbl9wb3J0OwogICAgfQogCi0gICBzaXBzb2NrX3NlbmQoYWRkciwgcG9ydCwgdGlj
a2V0LT5wcm90b2NvbCwgYnVmZmVyLCBzdHJsZW4oYnVmZmVyKSk7CisgICBzaXBzb2NrX3NlbmQo
YWRkciwgcG9ydCwgdGlja2V0LT5wcm90b2NvbCwgYnVmZmVyLCBidWZmZXJfbGVuKTsKIAogICAg
LyogZnJlZSB0aGUgcmVzb3VyY2VzICovCiAgICBvc2lwX21lc3NhZ2VfZnJlZShyZXNwb25zZSk7
Ci0tLSBzaXByb3hkLTAuNS4xMC9zcmMvc2lwX3V0aWxzLmMub3JpZwkyMDA1LTAxLTA4IDA1OjA1
OjEzLjAwMDAwMDAwMCAtMDUwMAorKysgc2lwcm94ZC0wLjUuMTAvc3JjL3NpcF91dGlscy5jCTIw
MDUtMDItMTggMjE6MzI6MjguMDAwMDAwMDAwIC0wNTAwCkBAIC01MzMsNiArNTMzLDcgQEAKICAg
IG9zaXBfdmlhX3QgKnZpYTsKICAgIGludCBwb3J0OwogICAgY2hhciAqYnVmZmVyOworICAgc2l6
ZV90IGJ1ZmZlcl9sZW47CiAgICBzdHJ1Y3QgaW5fYWRkciBhZGRyOwogCiAgICAvKiBjcmVhdGUg
dGhlIHJlc3BvbnNlIHRlbXBsYXRlICovCkBAIC01NjMsNyArNTY0LDcgQEAKICAgICAgIH0KICAg
IH0gICAKIAotICAgc3RzID0gb3NpcF9tZXNzYWdlX3RvX3N0cihyZXNwb25zZSwgJmJ1ZmZlcik7
CisgICBzdHMgPSBvc2lwX21lc3NhZ2VfdG9fc3RyKHJlc3BvbnNlLCAmYnVmZmVyLCAmYnVmZmVy
X2xlbik7CiAgICBpZiAoc3RzICE9IDApIHsKICAgICAgIEVSUk9SKCJzaXBfZ2VuX3Jlc3BvbnNl
OiBtc2dfMmNoYXIgZmFpbGVkIik7CiAgICAgICByZXR1cm4gU1RTX0ZBSUxVUkU7CkBAIC01Nzcs
NyArNTc4LDcgQEAKICAgIH0KIAogICAgLyogc2VuZCB0byBkZXN0aW5hdGlvbiAqLwotICAgc2lw
c29ja19zZW5kKGFkZHIsIHBvcnQsIHRpY2tldC0+cHJvdG9jb2wsIGJ1ZmZlciwgc3RybGVuKGJ1
ZmZlcikpOworICAgc2lwc29ja19zZW5kKGFkZHIsIHBvcnQsIHRpY2tldC0+cHJvdG9jb2wsIGJ1
ZmZlciwgYnVmZmVyX2xlbik7CiAKICAgIC8qIGZyZWUgdGhlIHJlc291cmNlcyAqLwogICAgb3Np
cF9tZXNzYWdlX2ZyZWUocmVzcG9uc2UpOwo=
</data>
    </attachment><category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-02-19 01:41</date>
      <description>Date: 2005-02-19 01:41
Sender: tries
Logged In: YES 
user_id=438614

This issue is known and resolved in the snapshot versions of
siproxd.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-02-19 01:41</date_closed>
    <date_last_updated>2005-02-19 01:41</date_last_updated>
    <date_submitted>2005-02-18 18:40</date_submitted>
    <description>libosip2 version 2.2.0 modifies the API some to provide
better support for binary data. (requiring size_t
buffer lenghts for several of hte message functions).
Attached is a patch to update siproxd to use this
interface.
Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1144195</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Edward Rudd - urkle</submitted_by>
    <summary>Patch to build against libosip2 2.2.0</summary>
    <title>Patch to build against libosip2 2.2.0</title>
  </item>
<item id="1204478">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-10-08 12:39</date>
      <description>Date: 2005-10-08 12:39
Sender: tries
Logged In: YES 
user_id=438614

Closed due to no answer within 4 months.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2005-06-04 09:16</date>
      <description>Date: 2005-06-04 09:16
Sender: tries
Logged In: YES 
user_id=438614

What UA/server do you use that do support this method? Could
you provide a sample dialog (debug log of siproxd receiving
an ALERTINFO would be ok)?

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-10-08 12:39</date_closed>
    <date_last_updated>2005-10-08 12:39</date_last_updated>
    <date_submitted>2005-05-18 11:49</date_submitted>
    <description>ALERTINFO which allows intercom and other options to
function seems to not get passed thru the proxy.

shaneb2metrostat.net Add a Comment:</description>
    <group>None</group>
    <item_id>1204478</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>Support of ALERTINFO.</summary>
    <title>Support of ALERTINFO.</title>
  </item>
<item id="1278537">
    <assigned_to>Thomas Ries</assigned_to>
    <category>Runtime/Config</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-10-01 08:02</date>
      <description>Date: 2005-10-01 08:02
Sender: tries
Logged In: YES 
user_id=438614

Right, how stupid... ;-)

Is fixed in the current snapshot (and will be included in
the next release 0.5.12).

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-10-01 08:02</date_closed>
    <date_last_updated>2005-10-01 08:02</date_last_updated>
    <date_submitted>2005-09-01 02:14</date_submitted>
    <description>proxy_auth_pwfile option is *NEVER* used since siproxd
tries to open proxy_auth_pwfile before it even reads
config file!
In file siproxd.c in main (version 0.5.11) we can see:

if (configuration.proxy_auth_pwfile) {
siproxd_passwordfile =
fopen(configuration.proxy_auth_pwfile, "r");
} else {
siproxd_passwordfile = NULL;
}
...
...
if (read_config(configfile, config_search) ==
STS_FAILURE) exit(1);

Putting 'proxy_auth_pwfile section' after 'read_config
section' solves the problem. Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1278537</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>proxy_auth_pwfile does not work</summary>
    <title>proxy_auth_pwfile does not work</title>
  </item>
<item id="1278591">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="147710">
      <content_disposition>attachment; filename=siproxd.patch</content_disposition>
      <content_length>1327</content_length>
      <content_type>application/octet-stream</content_type>
      <description>Patch to include Proxy-Authenticate in response</description>
      <etag>"jpd--1645707516.1327"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=147710&amp;aid=1278591</link>
      <title>siproxd.patch</title>
      <data encoding="base64">
LS0tIGF1dGguYy5vcmlnCTIwMDUtMDEtMDggMTE6MDU6MTIuMDAwMDAwMDAwICswMTAwCisrKyBh
dXRoLmMJMjAwNS0wOS0wMSAxMToyNjowOC4wMDAwMDAwMDAgKzAyMDAKQEAgLTkxLDcgKzkxLDcg
QEAKICAqCVNUU19TVUNDRVNTCiAgKglTVFNfRkFJTFVSRQogICovCi1pbnQgYXV0aF9pbmNsdWRl
X2F1dGhycShzaXBfdGlja2V0X3QgKnRpY2tldCkgeworaW50IGF1dGhfaW5jbHVkZV9hdXRocnEo
b3NpcF9tZXNzYWdlX3QgKnNpcG1zZykgewogICAgb3NpcF9wcm94eV9hdXRoZW50aWNhdGVfdCAq
cF9hdXRoOwogICAgY2hhciAqcmVhbG09TlVMTDsKIApAQCAtMTEyLDcgKzExMiw3IEBACiAgICAg
ICByZXR1cm4gU1RTX0ZBSUxVUkU7CiAgICB9CiAKLSAgIG9zaXBfbGlzdF9hZGQgKHRpY2tldC0+
c2lwbXNnLT5wcm94eV9hdXRoZW50aWNhdGVzLCBwX2F1dGgsIC0xKTsKKyAgIG9zaXBfbGlzdF9h
ZGQgKHNpcG1zZy0+cHJveHlfYXV0aGVudGljYXRlcywgcF9hdXRoLCAtMSk7CiAKICAgIERFQlVH
QyhEQkNMQVNTX0FVVEgsImFkZGVkIGF1dGhlbnRpY2F0aW9uIGhlYWRlciIpOwogCi0tLSBzaXBy
b3hkLmgub3JpZwkyMDA1LTA0LTE5IDIxOjAwOjIzLjAwMDAwMDAwMCArMDIwMAorKysgc2lwcm94
ZC5oCTIwMDUtMDktMDEgMTE6MjY6NDQuMDAwMDAwMDAwICswMjAwCkBAIC0xOTIsNyArMTkyLDcg
QEAKIAogLyogYXV0aC5jICovCiBpbnQgIGF1dGhlbnRpY2F0ZV9wcm94eShzaXBfdGlja2V0X3Qg
KnRpY2tldCk7CQkJCS8qWCovCi1pbnQgIGF1dGhfaW5jbHVkZV9hdXRocnEoc2lwX3RpY2tldF90
ICp0aWNrZXQpOwkJCQkvKlgqLworaW50ICBhdXRoX2luY2x1ZGVfYXV0aHJxKG9zaXBfbWVzc2Fn
ZV90ICpzaXBtc2cpOwkJCS8qWCovCiB2b2lkIEN2dEhleChjaGFyICpoYXNoLCBjaGFyICpoYXNo
c3RyaW5nKTsKIAogLyogZndhcGkuYyAqLwotLS0gcmVnaXN0ZXIuYy5vcmlnCTIwMDUtMDQtMTYg
MTE6MzA6NTUuMDAwMDAwMDAwICswMjAwCisrKyByZWdpc3Rlci5jCTIwMDUtMDktMDEgMTE6MjQ6
NDcuMDAwMDAwMDAwICswMjAwCkBAIC01NDYsNyArNTQ2LDcgQEAKICAgIC8qIGlmIHdlIHNlbmQg
YmFjayBhbiBwcm94eSBhdXRoZW50aWNhdGlvbiBuZWVkZWQsIAogICAgICAgaW5jbHVkZSB0aGUg
UHJveHktQXV0aGVudGljYXRlIGZpZWxkICovCiAgICBpZiAoY29kZSA9PSA0MDcpIHsKLSAgICAg
IGF1dGhfaW5jbHVkZV9hdXRocnEodGlja2V0KTsKKyAgICAgIGF1dGhfaW5jbHVkZV9hdXRocnEo
cmVzcG9uc2UpOwogICAgfQogCiAgICAvKiBnZXQgdGhlIElQIGFkZHJlc3MgZnJvbSBleGlzdGlu
ZyBWSUEgaGVhZGVyICovCg==
</data>
    </attachment><category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-10-01 08:14</date>
      <description>Date: 2005-10-01 08:14
Sender: tries
Logged In: YES 
user_id=438614

Thanks, 
I applied the included patch. Will be available in version
0.5.12 or use the "daily snapshot" where is is
included.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-10-01 08:14</date_closed>
    <date_last_updated>2005-10-01 08:14</date_last_updated>
    <date_submitted>2005-09-01 02:35</date_submitted>
    <description>When siproxd is used with authentication (eg.
proxy_auth_pwfile defined) it does not set
'Proxy-Authenticate' header in 407 code response.
Looking into code we can see that funtion
'auth_include_authrq' is used against 'ticket' whereas
we send 'response' back to the client. Modyfying code
to use response instead ticket solves the problem (see
attached patch) Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1278591</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>Proxy-Authenticate header not included in response</summary>
    <title>Proxy-Authenticate header not included in response</title>
  </item>
<item id="1318121">
    <assigned_to>Thomas Ries</assigned_to>
    <category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-10-12 13:26</date>
      <description>Date: 2005-10-12 13:26
Sender: tries
Logged In: YES 
user_id=438614

Fixed. Available in the next release 0.5.12 or daily snapshot.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2005-10-11 20:00</date>
      <description>Date: 2005-10-11 20:00
Sender: nobody
Logged In: NO 

ok.. it mostly works.. only thing I noticed is that *contact
would need to be initialzed to  something != NULL..

osip_contact_t *contact = (osip_contact_t *)1

yeah. kinda *not good* way of doing it, or the whole for
loop logic should be rewritten.. 

But it seems to be working now.. after I patched it..  I'm
going to let it run a few days and update with anything else
I find.

Thank you very much for taking the time to look into this.</description>
      <sender>nobody</sender>
    </comment><comment>
      <date>2005-10-11 13:32</date>
      <description>Date: 2005-10-11 13:32
Sender: tries
Logged In: YES 
user_id=438614

Could you try the latest snapshot? I've made some
enhancements in siproxd that should now honor the expiration
timeout as returned by the registration server.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2005-10-08 12:38</date>
      <description>Date: 2005-10-08 12:38
Sender: tries
Logged In: YES 
user_id=438614

Siproxd does (or at least should) use the expiration timeout
as returned by the server in the response to a REGISTER
request. A registration server MAY override the expiration
timeout value that a client includes in its registration
request.

Does siproxd NOT honor the expiration timeout value as
returned by the (broadvoice) server? Or is it Asterisk that
does not honor the expiration timeout of the (broadvoice)
server?

In Asterisk, you have the "defaultexpirey" and
"maxexpirey"
options to fiddle around with the registration timeouts.

Note: Asterisk MUST honor the registration timeout as
returned by the broadvoice server. It is NOT a solution to
"hack" siproxd to do so, as the broadvoice server
will
forget the registration as well.

If siproxd does use the registration timeout as sent by the
broadvoice server in the response of the registration
request, this is NOT a problem/bug of siproxd.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2005-10-12 13:26</date_closed>
    <date_last_updated>2005-10-12 13:26</date_last_updated>
    <date_submitted>2005-10-08 07:38</date_submitted>
    <description>I have a broadvoice account which I have connected to
my asterisk box which is behind a transparent siproxd
setup.. the issue is that broadvoice requests a
re-registration expiration of 2000 to 3000 seconds
which after about 5 - 10 minutes siproxd *forgets* the
entire registration (long before the very high
re-registration time) and will not allow incoming calls
from broadvoice until I stop siproxd, remove the
siproxd registration cache, restart siproxd and force
asterisk to reregister the broadvoice sip connection..
My sipphone.com and FWD accounts work fine, but the
re-register at 120second intervals.

Forum post about the issue:
http://sourceforge.net/forum/forum.php?thread_id=1353268&amp;forum_id=203640 Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1318121</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>4</number_of_comments>
    <priority>1</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Edward Rudd - urkle</submitted_by>
    <summary>siproxd loses long registrations (~2000-3000 seconds)</summary>
    <title>siproxd loses long registrations (~2000-3000 seconds)</title>
  </item>
<item id="1323864">
    <assigned_to>Thomas Ries</assigned_to>
    <category>None</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2005-10-11 13:23</date>
      <description>Date: 2005-10-11 13:23
Sender: tries
Logged In: YES 
user_id=438614

The idea of the "outbound_domain_xxx" feature is to
define a
specific
outbound proxy per ACCOUNT (it does NOT configure different
outbound proxies per destination).

Example: You have two SIP accounts, one at sipgate.de and
one at FWD. Sipgate.de REQUIRES that you use their proxy,
FWD works without proxy. Now, outgoing SIP traffic
*originating* at your sipgate.de phone MUST be routed to the
proxy at sipgate.de. SIP traffic *originating* at your FWD
account does not need a proxy.

The config would look like this (one section of
"outbound_domain_xxx"):
outbound_domain_name = sipgate.de
outbound_domain_host = proxy.de.sipgate.net
outbound_domain_port = 5060

The outbound_domain_name specifies the domain name of your
registered account (12345@sipgate.de). This URI
(12345@sipgate.de) then shows up in the FROM part when doing
an INVITE. The TO part contains the target URI (which your
SIP provider sipgate.de has to deal with).


From the log snipplet you attached it is not clear what
exactly you did try to do - the important parts are
unfortunately missing.

If you need a fixed outbound proxy for all your accounts you
should look at the config options
"outbound_proxy_host" and
"outbound_proxy_port".</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2005-10-11 09:47</date>
      <description>Date: 2005-10-11 09:47
Sender: whiskerp
Logged In: YES 
user_id=689886

I have found that changing the host to use the "to"
host in 
sip_utils.c line 877 (see below) fixes this for me. Maybe I am 
misunderstanding the situation, but I think that you should 
use the "To" URI for outbound proxy. It then finds and

translates the address. I am using siproxd to allow asterisk 
to jump a firewall. On the asterisk box, I have a
"/etc/hosts" 
entry which diverts the outgoing connection to the siproxd 
server and an entry in siproxd.conf with the correct address 
and port. Pity asterisk does not support outgoing proxy.

/*PRW   if (sipmsg &amp;&amp; sipmsg-&gt;from &amp;&amp;
sipmsg-&gt;from-&gt;url) {
      domain=sipmsg-&gt;from-&gt;url-&gt;host;
  }
*/
   /* PRW
    The domain is surely the "to" rather than
"from" 
domain??? */
   if (sipmsg &amp;&amp; sipmsg-&gt;to &amp;&amp;
sipmsg-&gt;to-&gt;url) {
      domain=sipmsg-&gt;to-&gt;url-&gt;host;
   }</description>
      <sender>whiskerp</sender>
      <sender_user_id>689886</sender_user_id>
    </comment><date_closed>2006-02-18 15:02</date_closed>
    <date_last_updated>2006-02-18 15:02</date_last_updated>
    <date_submitted>2005-10-11 06:21</date_submitted>
    <description>Siproxd uses the correct port (5052) for the Registration
but then seems to forgets it and uses 5060 for the
Invite. (Maybe I'm doing something stupid). I have tried
latest Debian version (0.5.10+cvs2), 0.5.11 and todays
checkpoint.

Oct 11 14:09:53 alambil siproxd[9389]: proxy.c:411
Purging Record-Routes (outgoing packet)
Oct 11 14:09:53 alambil siproxd[9389]: utils.c:194 DNS
lookup - resolved: 195.137.30.53 -&gt; 195.137.30.53
Oct 11 14:09:53 alambil siproxd[9389]: utils.c:214 DNS
lookup - store into cache, entry 3)
Oct 11 14:09:53 alambil siproxd[9389]: proxy.c:457
proxy_request: have outbound proxy 195.137.30.53:5052
......
------
Oct 11 14:10:15 alambil siproxd[9389]: proxy.c:411
Purging Record-Routes (outgoing packet)
Oct 11 14:10:15 alambil siproxd[9389]: utils.c:114 DNS
lookup - from cache: voip.whisker.org.uk -&gt;
195.137.30.53
Oct 11 14:10:15 alambil siproxd[9389]: proxy.c:489
proxy_request: have SIP URI to voip.whisker.org.uk:5060
Oct 11 14:10:15 alambil siproxd[9389]: utils.c:328
fetching interface IP by INTERFACE [0]

Config is:

if_inbound = eth0
if_outbound = eth1
sip_listen_port = 5060
daemonize = 1
silence_log = 0
log_calls = 1
user = siproxd
chrootjail = /var/lib/siproxd/
registration_file = /var/lib/siproxd/siproxd_registrations
rtp_proxy_enable = 1
rtp_port_low = 2000
rtp_port_high = 2020
rtp_timeout = 300
debug_level = 0xFFFFFFFF
outbound_domain_name = voip.whisker.org.uk
outbound_domain_host = 195.137.30.53
outbound_domain_port = 5052 Add a Comment:</description>
    <group>None</group>
    <item_id>1323864</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Peter Whisker - whiskerp</submitted_by>
    <summary>outbound_domain_port problem</summary>
    <title>outbound_domain_port problem</title>
  </item>
<item id="1407371">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>General</category>
    <closed_by>sf-robot</closed_by>
    <comment>
      <date>2006-04-28 19:20</date>
      <description>Date: 2006-04-28 19:20
Sender: sf-robot
Logged In: YES 
user_id=1312539

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).</description>
      <sender>sf-robot</sender>
      <sender_user_id>1312539</sender_user_id>
    </comment><comment>
      <date>2006-04-14 06:25</date>
      <description>Date: 2006-04-14 06:25
Sender: tries
Logged In: YES 
user_id=438614

Could you please provide:
- detailed debug log (debuglevel = -1)
- stack backtrace

otherwise this report will be close. 
Thank you</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2006-01-16 10:19</date>
      <description>Date: 2006-01-16 10:19
Sender: tries
Logged In: YES 
user_id=438614

Unfortunately I don't have any Windoze Messenger (any M$
at all) available for testing.

Can you please provide the following information (for 
details on how to do this, please read the README file 
included with the siproxd package):

- detailed debug log (debuglevel = -1)
- stack backtrace

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2006-01-16 06:21</date>
      <description>Date: 2006-01-16 06:21
Sender: nobody
Logged In: NO 

When using sjphone (www.sjlabs.com) everything is ok!</description>
      <sender>nobody</sender>
    </comment><date_closed>2006-04-28 19:20</date_closed>
    <date_last_updated>2006-04-28 19:20</date_last_updated>
    <date_submitted>2006-01-16 06:20</date_submitted>
    <description>tur@dzb.ru
When starting the connection from Windows Messenger to
sip server powered by CommuniGate Pro (
www.stalker.com) siproxd crashed :-(
For example you can try anyname@sipnet.ru or
anyname@sip.rz.ru.
17:15:48 ../../siproxd-0.5.11/src/utils.c:394 ifaddr
lookup - from cache: eth0 -&gt; 213.187.102.196 UP
17:15:48 ../../siproxd-0.5.11/src/sip_utils.c:213 got
address match [213.187.102.196]
17:15:48 ../../siproxd-0.5.11/src/utils.c:114 DNS
lookup - from cache: 10.63.0.35 -&gt; 10.63.0.35
17:15:48 ../../siproxd-0.5.11/src/proxy.c:646
proxy_response: reghost:10.63.0.35 ip:212.53.35.219
17:15:48 ../../siproxd-0.5.11/src/sip_utils.c:254
comparing urls: sip:713013@sipnet.ru -&gt;
sip:713013@sipnet.ru
17:15:48 ../../siproxd-0.5.11/src/utils.c:114 DNS
lookup - from cache: sipnet.ru -&gt; 212.53.35.219
17:15:48 ../../siproxd-0.5.11/src/utils.c:114 DNS
lookup - from cache: sipnet.ru -&gt; 212.53.35.219
17:15:48 ../../siproxd-0.5.11/src/proxy.c:737 incoming
response for 713013@sipnet.ru from outbound
17:15:48 ../../siproxd-0.5.11/src/proxy.c:853 Adding my
Record-Route
17:15:48 ../../siproxd-0.5.11/src/utils.c:322 fetching
interface IP by INTERFACE [1]
17:15:48 ../../siproxd-0.5.11/src/utils.c:394 ifaddr
lookup - from cache: tr0 -&gt; 145.228.209.29 UP
17:15:48 ../../siproxd-0.5.11/src/utils.c:114 DNS
lookup - from cache: 10.63.0.35 -&gt; 10.63.0.35
Segmentation fault
Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1407371</item_id>
    <last_updated_by>sf-robot - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>4</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Nobody/Anonymous - nobody</submitted_by>
    <summary>Segmentation fault</summary>
    <title>Segmentation fault</title>
  </item>
<item id="1425623">
    <assigned_to>Nobody/Anonymous</assigned_to>
    <category>Runtime/Config</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2006-02-18 14:58</date>
      <description>Date: 2006-02-18 14:58
Sender: tries
Logged In: YES 
user_id=438614

Hopefully fixed since snapshots of 8-Feb-2006.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2006-02-18 14:59</date_closed>
    <date_last_updated>2006-02-18 14:59</date_last_updated>
    <date_submitted>2006-02-06 13:31</date_submitted>
    <description>Hi Tom,

since build 3447 I discover several times a day segfaults.

I made a debuglogging and a backtrace from it, and
sent the log to you via e-mail because of sensitiv
data included.


Regards

G&#195;&#188;nter Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1425623</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Wanninger - wanninger</submitted_by>
    <summary>sporadically segfaults</summary>
    <title>sporadically segfaults</title>
  </item>
<item id="1434340">
    <assigned_to>Thomas Ries</assigned_to>
    <category>None</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2006-04-15 02:31</date>
      <description>Date: 2006-04-15 02:31
Sender: tries
Logged In: YES 
user_id=438614

Well, the latter case of a "direct connect" is not
supported
by siproxd. The requirement for any client to be masqueraded
by siproxd is to REGISTER itself, either with a 3rd party
registrar, OR with siproxd itself.
Even with the 2nd scenario, no private IP addresses will be
present in the From: header. The SIP address would then be
something like sip:myuser@my.public.hostname.
The use of an DYNDNS service gets you a fixes hostname that
resolves to your the current public IP address.

Ok, but I will close this issue now.

Regards and have nice Eastern.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2006-04-14 12:23</date>
      <description>Date: 2006-04-14 12:23
Sender: ajorge
Logged In: YES 
user_id=556316

Ultimately the Ekiga developers "fixed" their end so
that it
behaves as you said it should, however...

Suppose there is no "provider" but merely one SIP
client
attempting to connect to another.  This is certainly
supported by the spec, and in this case there could not be
anything but the private address in the From: header.</description>
      <sender>ajorge</sender>
      <sender_user_id>556316</sender_user_id>
    </comment><comment>
      <date>2006-02-18 14:54</date>
      <description>Date: 2006-02-18 14:54
Sender: tries
Logged In: YES 
user_id=438614

What is the exact configuration of the Client in question?

The From: header should (as sent by the local Client)
contain the address-of-record - which usually has the form of
sip:number@provider. In your case (comment #11 in the
bugzilla entry), the From: header does include 
a private IP address 192.168.64.76. In my opinion this
caused by an improper configuration of the client. Please
check the sample configurations in the siuproxd documentation.

&gt; 16:48:54 sip_utils.c:254 comparing urls:
sip:andrew@192.168.64.76 -&gt; sip:andrew@ekiga.net
&gt; 16:48:54 utils.c:114 DNS lookup - from cache:
192.168.64.76 -&gt; 192.168.64.76
&gt; 16:48:54 utils.c:114 DNS lookup - from cache: ekiga.net
-&gt;
213.186.62.145
&gt; 16:48:54 sip_utils.c:299 compare_url: IP mismatch</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2006-04-15 02:31</date_closed>
    <date_last_updated>2006-04-15 02:31</date_last_updated>
    <date_submitted>2006-02-18 14:40</date_submitted>
    <description>Please see this bug
http://bugzilla.gnome.org/show_bug.cgi?id=329400 Add a Comment:</description>
    <group>None</group>
    <item_id>1434340</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>3</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Closed</status>
    <submitted_by>Andrew Jorgensen - ajorge</submitted_by>
    <summary>Doesn't rewrite / match From URI</summary>
    <title>Doesn't rewrite / match From URI</title>
  </item>
<item id="1442961">
    <assigned_to>Thomas Ries</assigned_to>
    <category>None</category>
    <comment>
      <date>2006-04-14 06:31</date>
      <description>Date: 2006-04-14 06:31
Sender: tries
Logged In: YES 
user_id=438614

You're right, tis is currently not supported. I put his
one
to the TODO list.

What you should be able to do anyhow, run multiple siproxd
instanced that ore listening on ports numbers different to 5060.</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2006-03-04 01:18</date>
      <description>Date: 2006-03-04 01:18
Sender: speculatrix
Logged In: YES 
user_id=652516

p.s. I am using siproxd-0.5.10-3 on SuSE 9.3 (x86), the
package in the suse feed. I cannot see that this problem was
addressed in the slightly later release here on sourceforge,
so I didn't download and build specially.

thanks!</description>
      <sender>speculatrix</sender>
      <sender_user_id>652516</sender_user_id>
    </comment><date_last_updated>2006-04-14 06:31</date_last_updated>
    <date_submitted>2006-03-04 01:16</date_submitted>
    <description>I have a multi-homed firewall and have two internal
lans, one wired, one cabled.

At present, I can only run siproxd on one of the
internal interfaces, because it binds to *.*.*.*:5060.

Siproxd should to either:

- only bind to the internal interface specified in the
config file (so I can have multiple configs, one for
each interface, and run multiple siproxd processes)

or

- allow siproxd to handle multiple internal interface
definitions


Moreover, if I specify siproxd to listen on, say, the
cabled lan, but a wireless client tried to use the
cabled lan address, the response from siproxd comes
back with THE WRONG SOURCE IP ADDRESS - that of the
wireless lan. Let me give example.

Siproxd internal interface config = 192.168.1.1
Cabled lan interface: 192.168.1.1
Wired lan itnerface: 192.168.2.1
Wireless client: 192.168.2.2

Wireless client registers via siproxd on 192.168.1.1,
but siproxd replies back from 192.168.2.1, and the
wireless client therefore barfs. Add a Comment:</description>
    <group>None</group>
    <item_id>1442961</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>None</resolution>
    <status>Open</status>
    <submitted_by>Paul M - speculatrix</submitted_by>
    <summary>siproxd doesn't bind to specified interfaces</summary>
    <title>siproxd doesn't bind to specified interfaces</title>
  </item>
<item id="1475230">
    <assigned_to>Thomas Ries</assigned_to>
    <category>None</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2006-05-07 22:31</date>
      <description>Date: 2006-05-07 22:31
Sender: jhenstridge
Logged In: YES 
user_id=146903

The specific problem does appear to be gone in the latest
snapshots.  Thanks.</description>
      <sender>jhenstridge</sender>
      <sender_user_id>146903</sender_user_id>
    </comment><comment>
      <date>2006-04-26 10:08</date>
      <description>Date: 2006-04-26 10:08
Sender: tries
Logged In: YES 
user_id=438614

Well, now as the 64 bit machines are spreading...

This issue is currently being worked on. You can try the
latest snapshots. Basically the size_t issue should be
cleaned up, but I'll be checking more things.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2006-05-20 06:28</date_closed>
    <date_last_updated>2006-05-20 06:28</date_last_updated>
    <date_submitted>2006-04-23 19:12</date_submitted>
    <description>When run on an AMD64 system, siproxd segfaults soon
after trying to forward its first registration from a
client on the internal network (using the 3rd party
ekiga.net registration service).

On investigation, it seems that this is caused by
siproxd passing (int *) variables as the last argument
to osip_message_to_str() and osip_body_to_str() when
they expect a (size_t *) variable.

Since these types have different sizes on AMD64 (and
most 64-bit systems, for that matter), it causes the 32
bits of memory next to what the (int *) variable points
at to be overwritten. This seemed to zero out the port
variable, leading to siproxd trying (and failing) to
connect to port 0 of ekiga.net.

I discovered this bug in "siproxd_0.5.11-1ubuntu1"
Ubuntu package, and reported it here:

https://launchpad.net/distros/ubuntu/+source/siproxd/+bug/40914
 
I checked the more recent 0.5.12 source code, but it
seems to have the same problem in it. The patch
attached to that bug does the smallest change necessary
to avoid the segfault:

http://librarian.launchpad.net/2277486/siproxd-64bit.patch

A correct fix would be to update the siproxd code to
use the approriate types in the appropriate places. Add a Comment:</description>
    <group>None</group>
    <item_id>1475230</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>0</number_of_attachments>
    <number_of_comments>2</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>James Henstridge - jhenstridge</submitted_by>
    <summary>siproxd segfaults on AMD64</summary>
    <title>siproxd segfaults on AMD64</title>
  </item>
<item id="1476387">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="175774">
      <content_disposition>attachment; filename=regdump1.txt</content_disposition>
      <content_length>5764</content_length>
      <content_type>text/plain</content_type>
      <description>Ethereal dump of registration request/reply</description>
      <etag>"jpd--196495904.5764"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=175774&amp;aid=1476387</link>
      <title>regdump1.txt</title>
      <data encoding="base64">
Tm8uICAgICBUaW1lICAgICAgICBFdGhTb3VyY2UgICAgICAgICAgICAgU291cmNlICAgICAgICAg
ICAgICAgIERlc3RpbmF0aW9uICAgICAgICAgICBFdGhEZXN0ICAgICAgICAgICAgICAgUHJvdG9j
b2wgSW5mbwogICAgICA5IDEwLjg0ODQ2NiAgIDAwOjBjOjZlOjM3OmJhOjdhICAgICAxOTIuMTY4
LjEuMjAwICAgICAgICAgMTkyLjE2OC4xLjEwICAgICAgICAgIDAwOjBjOjQxOjFkOjkzOmE4ICAg
ICBTSVAgICAgICBSZXF1ZXN0OiBSRUdJU1RFUiBzaXA6MTkyLjE2OC4xLjEwOjUwNjAKCkZyYW1l
IDkgKDQyMSBieXRlcyBvbiB3aXJlLCA0MjEgYnl0ZXMgY2FwdHVyZWQpCkV0aGVybmV0IElJLCBT
cmM6IDE5Mi4xNjguMS4yMDAgKDAwOjBjOjZlOjM3OmJhOjdhKSwgRHN0OiAxOTIuMTY4LjEuMTAg
KDAwOjBjOjQxOjFkOjkzOmE4KQpJbnRlcm5ldCBQcm90b2NvbCwgU3JjOiAxOTIuMTY4LjEuMjAw
ICgxOTIuMTY4LjEuMjAwKSwgRHN0OiAxOTIuMTY4LjEuMTAgKDE5Mi4xNjguMS4xMCkKVXNlciBE
YXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IHNpcCAoNTA2MCksIERzdCBQb3J0OiBzaXAgKDUw
NjApClNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2NvbAogICAgUmVxdWVzdC1MaW5lOiBSRUdJU1RF
UiBzaXA6MTkyLjE2OC4xLjEwOjUwNjAgU0lQLzIuMAogICAgTWVzc2FnZSBIZWFkZXIKICAgICAg
ICBWaWE6IFNJUC8yLjAvVURQIDE5Mi4xNjguMS4yMDA6NTA2MDticmFuY2g9ejloRzRiSzlmNTBj
NDAwMDAwCiAgICAgICAgRnJvbTogPHNpcDoyMjIyQDE5Mi4xNjguMS4xMDo1MDYwPjt0YWc9ZmQ5
NDgyYWUKICAgICAgICAgICAgU0lQIGZyb20gYWRkcmVzczogc2lwOjIyMjJAMTkyLjE2OC4xLjEw
OjUwNjAKICAgICAgICAgICAgU0lQIHRhZzogZmQ5NDgyYWUKICAgICAgICBUbzogPHNpcDoyMjIy
QDE5Mi4xNjguMS4xMDo1MDYwPgogICAgICAgICAgICBTSVAgdG8gYWRkcmVzczogc2lwOjIyMjJA
MTkyLjE2OC4xLjEwOjUwNjAKICAgICAgICBDYWxsLUlEOiA4NmRlYzU5YkAxOTIuMTY4LjEuMjAw
CiAgICAgICAgQ1NlcTogMTE0Mzk3NjM2MyBSRUdJU1RFUgogICAgICAgIE1heC1Gb3J3YXJkczog
NzAKICAgICAgICBDb250YWN0OiA8c2lwOjIyMjJAMTkyLjE2OC4xLjIwMDo1MDYwPjtleHBpcmVz
PTI0MDtldmVudHM9Im1lc3NhZ2Utc3VtbWFyeSIKICAgICAgICAgICAgQ29udGFjdCBCaW5kaW5n
OiA8c2lwOjIyMjJAMTkyLjE2OC4xLjIwMDo1MDYwPjtleHBpcmVzPTI0MDtldmVudHM9Im1lc3Nh
Z2Utc3VtbWFyeSIKICAgICAgICAgICAgICAgIFVSSTogPHNpcDoyMjIyQDE5Mi4xNjguMS4yMDA6
NTA2MD4KICAgICAgICAgICAgICAgICAgICBTSVAgY29udGFjdCBhZGRyZXNzOiBzaXA6MjIyMkAx
OTIuMTY4LjEuMjAwOjUwNjAKICAgICAgICBTdXBwb3J0ZWQ6IHBhdGgKICAgICAgICBDb250ZW50
LUxlbmd0aDogMAoKMDAwMCAgMDAgMGMgNDEgMWQgOTMgYTggMDAgMGMgNmUgMzcgYmEgN2EgMDgg
MDAgNDUgMDAgICAuLkEuLi4uLm43LnouLkUuCjAwMTAgIDAxIDk3IDAwIDAwIDQwIDAwIGZmIDEx
IGY2IDMyIGMwIGE4IDAxIGM4IGMwIGE4ICAgLi4uLkAuLi4uMi4uLi4uLgowMDIwICAwMSAwYSAx
MyBjNCAxMyBjNCAwMSA4MyBjNSAzYSA1MiA0NSA0NyA0OSA1MyA1NCAgIC4uLi4uLi4uLjpSRUdJ
U1QKMDAzMCAgNDUgNTIgMjAgNzMgNjkgNzAgM2EgMzEgMzkgMzIgMmUgMzEgMzYgMzggMmUgMzEg
ICBFUiBzaXA6MTkyLjE2OC4xCjAwNDAgIDJlIDMxIDMwIDNhIDM1IDMwIDM2IDMwIDIwIDUzIDQ5
IDUwIDJmIDMyIDJlIDMwICAgLjEwOjUwNjAgU0lQLzIuMAowMDUwICAwZCAwYSA1NiA2OSA2MSAz
YSAyMCA1MyA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSAgIC4uVmlhOiBTSVAvMi4wL1UKMDA2MCAg
NDQgNTAgMjAgMzEgMzkgMzIgMmUgMzEgMzYgMzggMmUgMzEgMmUgMzIgMzAgMzAgICBEUCAxOTIu
MTY4LjEuMjAwCjAwNzAgIDNhIDM1IDMwIDM2IDMwIDNiIDYyIDcyIDYxIDZlIDYzIDY4IDNkIDdh
IDM5IDY4ICAgOjUwNjA7YnJhbmNoPXo5aAowMDgwICA0NyAzNCA2MiA0YiAzOSA2NiAzNSAzMCA2
MyAzNCAzMCAzMCAzMCAzMCAzMCAwZCAgIEc0Yks5ZjUwYzQwMDAwMC4KMDA5MCAgMGEgNDYgNzIg
NmYgNmQgM2EgMjAgM2MgNzMgNjkgNzAgM2EgMzIgMzIgMzIgMzIgICAuRnJvbTogPHNpcDoyMjIy
CjAwYTAgIDQwIDMxIDM5IDMyIDJlIDMxIDM2IDM4IDJlIDMxIDJlIDMxIDMwIDNhIDM1IDMwICAg
QDE5Mi4xNjguMS4xMDo1MAowMGIwICAzNiAzMCAzZSAzYiA3NCA2MSA2NyAzZCA2NiA2NCAzOSAz
NCAzOCAzMiA2MSA2NSAgIDYwPjt0YWc9ZmQ5NDgyYWUKMDBjMCAgMGQgMGEgNTQgNmYgM2EgMjAg
M2MgNzMgNjkgNzAgM2EgMzIgMzIgMzIgMzIgNDAgICAuLlRvOiA8c2lwOjIyMjJACjAwZDAgIDMx
IDM5IDMyIDJlIDMxIDM2IDM4IDJlIDMxIDJlIDMxIDMwIDNhIDM1IDMwIDM2ICAgMTkyLjE2OC4x
LjEwOjUwNgowMGUwICAzMCAzZSAwZCAwYSA0MyA2MSA2YyA2YyAyZCA0OSA0NCAzYSAyMCAzOCAz
NiA2NCAgIDA+Li5DYWxsLUlEOiA4NmQKMDBmMCAgNjUgNjMgMzUgMzkgNjIgNDAgMzEgMzkgMzIg
MmUgMzEgMzYgMzggMmUgMzEgMmUgICBlYzU5YkAxOTIuMTY4LjEuCjAxMDAgIDMyIDMwIDMwIDBk
IDBhIDQzIDUzIDY1IDcxIDNhIDIwIDMxIDMxIDM0IDMzIDM5ICAgMjAwLi5DU2VxOiAxMTQzOQow
MTEwICAzNyAzNiAzMyAzNiAzMyAyMCA1MiA0NSA0NyA0OSA1MyA1NCA0NSA1MiAwZCAwYSAgIDc2
MzYzIFJFR0lTVEVSLi4KMDEyMCAgNGQgNjEgNzggMmQgNDYgNmYgNzIgNzcgNjEgNzIgNjQgNzMg
M2EgMjAgMzcgMzAgICBNYXgtRm9yd2FyZHM6IDcwCjAxMzAgIDBkIDBhIDQzIDZmIDZlIDc0IDYx
IDYzIDc0IDNhIDIwIDNjIDczIDY5IDcwIDNhICAgLi5Db250YWN0OiA8c2lwOgowMTQwICAzMiAz
MiAzMiAzMiA0MCAzMSAzOSAzMiAyZSAzMSAzNiAzOCAyZSAzMSAyZSAzMiAgIDIyMjJAMTkyLjE2
OC4xLjIKMDE1MCAgMzAgMzAgM2EgMzUgMzAgMzYgMzAgM2UgM2IgNjUgNzggNzAgNjkgNzIgNjUg
NzMgICAwMDo1MDYwPjtleHBpcmVzCjAxNjAgIDNkIDMyIDM0IDMwIDNiIDY1IDc2IDY1IDZlIDc0
IDczIDNkIDIyIDZkIDY1IDczICAgPTI0MDtldmVudHM9Im1lcwowMTcwICA3MyA2MSA2NyA2NSAy
ZCA3MyA3NSA2ZCA2ZCA2MSA3MiA3OSAyMiAwZCAwYSA1MyAgIHNhZ2Utc3VtbWFyeSIuLlMKMDE4
MCAgNzUgNzAgNzAgNmYgNzIgNzQgNjUgNjQgM2EgMjAgNzAgNjEgNzQgNjggMGQgMGEgICB1cHBv
cnRlZDogcGF0aC4uCjAxOTAgIDQzIDZmIDZlIDc0IDY1IDZlIDc0IDJkIDRjIDY1IDZlIDY3IDc0
IDY4IDNhIDIwICAgQ29udGVudC1MZW5ndGg6IAowMWEwICAzMCAwZCAwYSAwZCAwYSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuLi4uCgpOby4gICAgIFRpbWUgICAgICAgIEV0
aFNvdXJjZSAgICAgICAgICAgICBTb3VyY2UgICAgICAgICAgICAgICAgRGVzdGluYXRpb24gICAg
ICAgICAgIEV0aERlc3QgICAgICAgICAgICAgICBQcm90b2NvbCBJbmZvCiAgICAgMTAgMTAuODUw
NjE3ICAgMDA6MGM6NDE6MWQ6OTM6YTggICAgIDE5Mi4xNjguMS4xMCAgICAgICAgICAxOTIuMTY4
LjEuMjAwICAgICAgICAgMDA6MGM6NmU6Mzc6YmE6N2EgICAgIFNJUCAgICAgIFN0YXR1czogMjAw
IE9LICAgICgwIGJpbmRpbmdzKQoKRnJhbWUgMTAgKDI4NSBieXRlcyBvbiB3aXJlLCAyODUgYnl0
ZXMgY2FwdHVyZWQpCkV0aGVybmV0IElJLCBTcmM6IDE5Mi4xNjguMS4xMCAoMDA6MGM6NDE6MWQ6
OTM6YTgpLCBEc3Q6IDE5Mi4xNjguMS4yMDAgKDAwOjBjOjZlOjM3OmJhOjdhKQpJbnRlcm5ldCBQ
cm90b2NvbCwgU3JjOiAxOTIuMTY4LjEuMTAgKDE5Mi4xNjguMS4xMCksIERzdDogMTkyLjE2OC4x
LjIwMCAoMTkyLjE2OC4xLjIwMCkKVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IHNp
cCAoNTA2MCksIERzdCBQb3J0OiBzaXAgKDUwNjApClNlc3Npb24gSW5pdGlhdGlvbiBQcm90b2Nv
bAogICAgU3RhdHVzLUxpbmU6IFNJUC8yLjAgMjAwIE9LCiAgICBNZXNzYWdlIEhlYWRlcgogICAg
ICAgIFZpYTogU0lQLzIuMC9VRFAgMTkyLjE2OC4xLjIwMDo1MDYwO2JyYW5jaD16OWhHNGJLOWY1
MGM0MDAwMDAKICAgICAgICBGcm9tOiA8c2lwOjIyMjJAMTkyLjE2OC4xLjEwOjUwNjA+O3RhZz1m
ZDk0ODJhZQogICAgICAgICAgICBTSVAgZnJvbSBhZGRyZXNzOiBzaXA6MjIyMkAxOTIuMTY4LjEu
MTA6NTA2MAogICAgICAgICAgICBTSVAgdGFnOiBmZDk0ODJhZQogICAgICAgIFRvOiA8c2lwOjIy
MjJAMTkyLjE2OC4xLjEwOjUwNjA+CiAgICAgICAgICAgIFNJUCB0byBhZGRyZXNzOiBzaXA6MjIy
MkAxOTIuMTY4LjEuMTA6NTA2MAogICAgICAgIENhbGwtSUQ6IDg2ZGVjNTliQDE5Mi4xNjguMS4y
MDAKICAgICAgICBDU2VxOiAxMTQzOTc2MzYzIFJFR0lTVEVSCiAgICAgICAgQ29udGVudC1MZW5n
dGg6IDAKCjAwMDAgIDAwIDBjIDZlIDM3IGJhIDdhIDAwIDBjIDQxIDFkIDkzIGE4IDA4IDAwIDQ1
IDAwICAgLi5uNy56Li5BLi4uLi5FLgowMDEwICAwMSAwZiAwMCAwMiA0MCAwMCA0MCAxMSBiNSBi
OSBjMCBhOCAwMSAwYSBjMCBhOCAgIC4uLi5ALkAuLi4uLi4uLi4KMDAyMCAgMDEgYzggMTMgYzQg
MTMgYzQgMDAgZmIgOWMgNjAgNTMgNDkgNTAgMmYgMzIgMmUgICAuLi4uLi4uLi5gU0lQLzIuCjAw
MzAgIDMwIDIwIDMyIDMwIDMwIDIwIDRmIDRiIDBkIDBhIDU2IDY5IDYxIDNhIDIwIDUzICAgMCAy
MDAgT0suLlZpYTogUwowMDQwICA0OSA1MCAyZiAzMiAyZSAzMCAyZiA1NSA0NCA1MCAyMCAzMSAz
OSAzMiAyZSAzMSAgIElQLzIuMC9VRFAgMTkyLjEKMDA1MCAgMzYgMzggMmUgMzEgMmUgMzIgMzAg
MzAgM2EgMzUgMzAgMzYgMzAgM2IgNjIgNzIgICA2OC4xLjIwMDo1MDYwO2JyCjAwNjAgIDYxIDZl
IDYzIDY4IDNkIDdhIDM5IDY4IDQ3IDM0IDYyIDRiIDM5IDY2IDM1IDMwICAgYW5jaD16OWhHNGJL
OWY1MAowMDcwICA2MyAzNCAzMCAzMCAzMCAzMCAzMCAwZCAwYSA0NiA3MiA2ZiA2ZCAzYSAyMCAz
YyAgIGM0MDAwMDAuLkZyb206IDwKMDA4MCAgNzMgNjkgNzAgM2EgMzIgMzIgMzIgMzIgNDAgMzEg
MzkgMzIgMmUgMzEgMzYgMzggICBzaXA6MjIyMkAxOTIuMTY4CjAwOTAgIDJlIDMxIDJlIDMxIDMw
IDNhIDM1IDMwIDM2IDMwIDNlIDNiIDc0IDYxIDY3IDNkICAgLjEuMTA6NTA2MD47dGFnPQowMGEw
ICA2NiA2NCAzOSAzNCAzOCAzMiA2MSA2NSAwZCAwYSA1NCA2ZiAzYSAyMCAzYyA3MyAgIGZkOTQ4
MmFlLi5UbzogPHMKMDBiMCAgNjkgNzAgM2EgMzIgMzIgMzIgMzIgNDAgMzEgMzkgMzIgMmUgMzEg
MzYgMzggMmUgICBpcDoyMjIyQDE5Mi4xNjguCjAwYzAgIDMxIDJlIDMxIDMwIDNhIDM1IDMwIDM2
IDMwIDNlIDBkIDBhIDQzIDYxIDZjIDZjICAgMS4xMDo1MDYwPi4uQ2FsbAowMGQwICAyZCA0OSA0
NCAzYSAyMCAzOCAzNiA2NCA2NSA2MyAzNSAzOSA2MiA0MCAzMSAzOSAgIC1JRDogODZkZWM1OWJA
MTkKMDBlMCAgMzIgMmUgMzEgMzYgMzggMmUgMzEgMmUgMzIgMzAgMzAgMGQgMGEgNDMgNTMgNjUg
ICAyLjE2OC4xLjIwMC4uQ1NlCjAwZjAgIDcxIDNhIDIwIDMxIDMxIDM0IDMzIDM5IDM3IDM2IDMz
IDM2IDMzIDIwIDUyIDQ1ICAgcTogMTE0Mzk3NjM2MyBSRQowMTAwICA0NyA0OSA1MyA1NCA0NSA1
MiAwZCAwYSA0MyA2ZiA2ZSA3NCA2NSA2ZSA3NCAyZCAgIEdJU1RFUi4uQ29udGVudC0KMDExMCAg
NGMgNjUgNmUgNjcgNzQgNjggM2EgMjAgMzAgMGQgMGEgMGQgMGEgICAgICAgICAgICBMZW5ndGg6
IDAuLi4uCg==
</data>
    </attachment><category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2006-04-26 10:04</date>
      <description>Date: 2006-04-26 10:04
Sender: tries
Logged In: YES 
user_id=438614

Thanks, the patch looks fine. It is available in the
snapshots and will be included in 0.5.13.

Note: using the built-in registrar functionality of siproxd
is not recommended. It provides a very minimalistic way to
make local UAs known to siproxd without having an external
Registrar available. I.e. multiple registrations by the same
local UA are not supported (multiple Contact headers issue
you mentioned).
Actually an external Registration service should be used -
which then hopefully will comply with RFC3261.

/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><comment>
      <date>2006-04-25 21:14</date>
      <description>Date: 2006-04-25 21:14
Sender: tedmerrill
Logged In: YES 
user_id=798074

Sure is nice to have open source.  I made a quick hack on
the siproxd source code, in msg_make_template_reply():
   #if 0        // original 
   if ((code&gt;=300) &amp;&amp; (code&lt;400)) {
   #else        // quick fix
   if ((code == 200) || ((code&gt;=300) &amp;&amp;
(code&lt;400))) {
   #endif
This seems to work for my purposes, although technically it
probably isn't right since it only uses the first contact
(in case there were multiple).

It would be very nice to have it fixed in the mainline... or
else maybe someone can tell me that i'm wrong!</description>
      <sender>tedmerrill</sender>
      <sender_user_id>798074</sender_user_id>
    </comment><comment>
      <date>2006-04-25 14:36</date>
      <description>Date: 2006-04-25 14:36
Sender: tedmerrill
Logged In: YES 
user_id=798074

I'm attaching an etherealdump of registration
request/reply... this is using siproxd 0.5.12</description>
      <sender>tedmerrill</sender>
      <sender_user_id>798074</sender_user_id>
    </comment><date_closed>2006-05-20 06:27</date_closed>
    <date_last_updated>2006-05-20 06:27</date_last_updated>
    <date_submitted>2006-04-25 13:47</date_submitted>
    <description>I'm using debian sid: siproxd 1:0.5.11-1.1

I'm using a sip client that is very unhappy when a
register response does not contain contact fields.
rfc 3261 says:

10.3 Processing REGISTER Requests
&lt;snip&gt;
8. The registrar returns a 200 (OK) response.
The response MUST
contain Contact header field values
enumerating all current
bindings. Each Contact value MUST feature an
"expires"
parameter indicating its expiration interval
chosen by the
registrar. The response SHOULD include a Date
header field.

But these fields do not appear in the sip responses
that i see coming back from siproxd, for example:


0000 00 12 da ad 30 1a 00 0c 41 1d 93 a8 08 00 45 00
....0... A.....E.
0010 01 01 00 0b 40 00 40 11 b5 bf c0 a8 01 0a c0 a8
....@.@. ........
0020 01 c7 13 c4 13 c4 00 ed 40 4d 53 49 50 2f 32 2e
........ @MSIP/2.
0030 30 20 32 30 30 20 4f 4b 0d 0a 56 69 61 3a 20 53
0 200 OK ..Via: S
0040 49 50 2f 32 2e 30 2f 55 44 50 20 31 39 32 2e 31
IP/2.0/U DP 192.1
0050 36 38 2e 31 2e 31 39 39 3a 35 30 36 30 0d 0a 46
68.1.199 :5060..F
0060 72 6f 6d 3a 20 3c 73 69 70 3a 31 31 31 31 40 31
rom: &lt;si p:1111@1
0070 39 32 2e 31 36 38 2e 31 2e 31 30 3e 0d 0a 54 6f
92.168.1 .10&gt;..To
0080 3a 20 3c 73 69 70 3a 31 31 31 31 40 31 39 32 2e
: &lt;sip:1 111@192.
0090 31 36 38 2e 31 2e 31 30 3e 0d 0a 43 61 6c 6c 2d
168.1.10 &gt;..Call-
00a0 49 44 3a 20 30 30 31 32 64 61 61 64 2d 33 30 31
ID: 0012 daad-301
00b0 61 30 30 30 32 2d 32 33 61 36 62 32 35 66 2d 35
a0002-23 a6b25f-5
00c0 61 38 61 64 31 39 66 40 31 39 32 2e 31 36 38 2e
a8ad19f@ 192.168.
00d0 31 2e 31 39 39 0d 0a 43 53 65 71 3a 20 31 30 31
1.199..C Seq: 101
00e0 20 52 45 47 49 53 54 45 52 0d 0a 45 78 70 69 72
REGISTE R..Expir
00f0 65 73 3a 20 33 36 30 30 0d 0a 43 6f 6e 74 65 6e
es: 3600 ..Conten
0100 74 2d 4c 65 6e 67 74 68 3a 20 30 0d 0a 0d 0a
t-Length : 0....

Add a Comment:</description>
    <group>None</group>
    <item_id>1476387</item_id>
    <last_updated_by>tries - Settings changed</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>3</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>Ted Merrill - tedmerrill</submitted_by>
    <summary>register response lacks contact fields</summary>
    <title>register response lacks contact fields</title>
  </item>
<item id="1483643">
    <assigned_to>Thomas Ries</assigned_to>
    <attachment file_id="177235">
      <content_disposition>attachment; filename=siproxd-logging-fixes.patch</content_disposition>
      <content_type>text/x-patch</content_type>
      <description>siproxd-logging-fixes.patch</description>
      <etag>"jpd--533165358.15459"</etag>
      <link>/tracker/download.php?group_id=60374&amp;atid=493974&amp;file_id=177235&amp;aid=1483643</link>
      <title>siproxd-logging-fixes.patch</title>
      <data encoding="base64">
ZGlmZiAtdXIgc2lwcm94ZC0wLjUuMTMub2xkL3NyYy9hY2Nlc3NjdGwuYyBzaXByb3hkLTAuNS4x
My9zcmMvYWNjZXNzY3RsLmMKLS0tIHNpcHJveGQtMC41LjEzLm9sZC9zcmMvYWNjZXNzY3RsLmMJ
MjAwNS0wNC0zMCAwNzowOTowMi4wMDAwMDAwMDAgKzA4MDAKKysrIHNpcHJveGQtMC41LjEzL3Ny
Yy9hY2Nlc3NjdGwuYwkyMDA2LTA1LTA4IDEzOjE5OjQ3LjAwMDAwMDAwMCArMDgwMApAQCAtMTY3
LDkgKzE2Nyw5IEBACiAgICAgICBtYXNrX2ludD1hdG9pKG1hc2spOwogICAgICAgYml0bWFzaz0g
KG1hc2tfaW50KT8gKDB4ZmZmZmZmZmY8PCgzMi1tYXNrX2ludCkpIDogMDsKIAotICAgICAgREVC
VUdDKERCQ0xBU1NfQUNDRVNTLCJbJWldICglcCkgPC0+ICglcCkiLCBpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG50b2hsKGluYWRkci5zX2FkZHIpICYgYml0bWFzaywKLQkJCSAgICBu
dG9obChmcm9tLnNpbl9hZGRyLnNfYWRkcikgJiBiaXRtYXNrKTsKKyAgICAgIERFQlVHQyhEQkNM
QVNTX0FDQ0VTUywiWyVpXSAoJWxkKSA8LT4gKCVsZCkiLCBpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChsb25nKW50b2hsKGluYWRkci5zX2FkZHIpICYgYml0bWFzaywKKwkJCSAgICAo
bG9uZyludG9obChmcm9tLnNpbl9hZGRyLnNfYWRkcikgJiBiaXRtYXNrKTsKIAogICAgICAgaWYg
KCAobnRvaGwoaW5hZGRyLnNfYWRkcikgJiBiaXRtYXNrKSA9PSAKICAgICAgICAgICAgKG50b2hs
KGZyb20uc2luX2FkZHIuc19hZGRyKSAmIGJpdG1hc2spICkgcmV0dXJuIFNUU19TVUNDRVNTOwpk
aWZmIC11ciBzaXByb3hkLTAuNS4xMy5vbGQvc3JjL2F1dGguYyBzaXByb3hkLTAuNS4xMy9zcmMv
YXV0aC5jCi0tLSBzaXByb3hkLTAuNS4xMy5vbGQvc3JjL2F1dGguYwkyMDA2LTAyLTExIDE3OjQz
OjE5LjAwMDAwMDAwMCArMDgwMAorKysgc2lwcm94ZC0wLjUuMTMvc3JjL2F1dGguYwkyMDA2LTA1
LTA4IDEzOjIwOjE1LjAwMDAwMDAwMCArMDgwMApAQCAtMTA3LDggKzEwNyw4IEBACiAgICAgICBz
cHJpbnRmKHJlYWxtLCJcIiVzXCIiLGNvbmZpZ3VyYXRpb24ucHJveHlfYXV0aF9yZWFsbSk7CiAg
ICAgICBvc2lwX3Byb3h5X2F1dGhlbnRpY2F0ZV9zZXRfcmVhbG0ocF9hdXRoLCByZWFsbSk7CiAg
ICB9IGVsc2UgewotICAgICAgRVJST1IoInVuYWJsZSB0byBtYWxsb2MoKSAlaSBieXRlcyBmb3Ig
YXV0aGVudGljYXRpb24gcmVhbG0iLAotICAgICAgICAgICAgc3RybGVuKGNvbmZpZ3VyYXRpb24u
cHJveHlfYXV0aF9yZWFsbSkrMyk7CisgICAgICBFUlJPUigidW5hYmxlIHRvIG1hbGxvYygpICVs
ZCBieXRlcyBmb3IgYXV0aGVudGljYXRpb24gcmVhbG0iLAorICAgICAgICAgICAgKGxvbmcpc3Ry
bGVuKGNvbmZpZ3VyYXRpb24ucHJveHlfYXV0aF9yZWFsbSkrMyk7CiAgICAgICByZXR1cm4gU1RT
X0ZBSUxVUkU7CiAgICB9CiAKZGlmZiAtdXIgc2lwcm94ZC0wLjUuMTMub2xkL3NyYy9sb2cuYyBz
aXByb3hkLTAuNS4xMy9zcmMvbG9nLmMKLS0tIHNpcHJveGQtMC41LjEzLm9sZC9zcmMvbG9nLmMJ
MjAwNi0wNS0wOCAxMjoxNDo1NC4wMDAwMDAwMDAgKzA4MDAKKysrIHNpcHJveGQtMC41LjEzL3Ny
Yy9sb2cuYwkyMDA2LTA1LTA4IDEzOjQwOjIwLjAwMDAwMDAwMCArMDgwMApAQCAtMjEwLDcgKzIx
MCw3IEBACiAKIAogdm9pZCBsb2dfZGVidWcoaW50IGNsYXNzLCBjaGFyICpmaWxlLCBpbnQgbGlu
ZSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIHsKLSAgIHZhX2xpc3QgYXA7CisgICB2YV9saXN0
IGFwLCBhcF9jb3B5OwogICAgdGltZV90IHQ7CiAgICBzdHJ1Y3QgdG0gKnRpbTsKICAgIGNoYXIg
c3RyaW5nWzEyOF07CkBAIC0yMjksMTIgKzIyOSwxNiBAQAogICAgICAgdGltPWxvY2FsdGltZSgm
dCk7CiAgICAgICBmcHJpbnRmKHN0ZGVyciwiJTIuMmk6JTIuMmk6JTIuMmkgJXM6JWkgIiwgdGlt
LT50bV9ob3VyLAogICAgICAgICAgICAgICAgICAgICAgIHRpbS0+dG1fbWluLCB0aW0tPnRtX3Nl
YywgZmlsZSwgbGluZSk7Ci0gICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOworICAg
ICAgdmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwg
YXBfY29weSk7CisgICAgICB2YV9lbmQoYXBfY29weSk7CiAgICAgICBmcHJpbnRmKHN0ZGVyciwi
XG4iKTsKICAgICAgIGZmbHVzaChzdGRlcnIpOwogICAgfSBlbHNlIGlmIChzaWxlbmNlX2xldmVs
IDwgMSkgewogICAgICAgLyogcnVubmluZyBhcyBkYWVtb24gLSBsb2cgdmlhIFNZU0xPRyBmYWNp
bGl0eSAqLwotICAgICAgdnNucHJpbnRmKHN0cmluZywgc2l6ZW9mKHN0cmluZyksIGZvcm1hdCwg
YXApOworICAgICAgdmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2c25wcmludGYoc3RyaW5n
LCBzaXplb2Yoc3RyaW5nKSwgZm9ybWF0LCBhcF9jb3B5KTsKKyAgICAgIHZhX2VuZChhcF9jb3B5
KTsKICAgICAgIHN5c2xvZyhMT0dfREFFTU9OfExPR19ERUJVRywgIiVzOiVpICVzIiwgZmlsZSwg
bGluZSwgc3RyaW5nKTsKICAgIH0KICAgIC8qCkBAIC0yNDcsNyArMjUxLDkgQEAKICAgICAgIHNu
cHJpbnRmKG91dGJ1Ziwgc2l6ZW9mKG91dGJ1ZikgLCIlMi4yaTolMi4yaTolMi4yaSAlczolaSAi
LAogICAgICAgICAgICAgICAgICAgICAgICB0aW0tPnRtX2hvdXIsIHRpbS0+dG1fbWluLCB0aW0t
PnRtX3NlYywgZmlsZSwgbGluZSk7CiAgICAgICB3cml0ZShkZWJ1Z19mZCwgb3V0YnVmLCBzdHJs
ZW4ob3V0YnVmKSk7Ci0gICAgICB2c25wcmludGYob3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIGZv
cm1hdCwgYXApOworICAgICAgdmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2c25wcmludGYo
b3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIGZvcm1hdCwgYXBfY29weSk7CisgICAgICB2YV9lbmQo
YXBfY29weSk7CiAgICAgICB3cml0ZShkZWJ1Z19mZCwgb3V0YnVmLCBzdHJsZW4ob3V0YnVmKSk7
CiAgICAgICBzbnByaW50ZihvdXRidWYsIHNpemVvZihvdXRidWYpICwiXG4iKTsKICAgICAgIHdy
aXRlKGRlYnVnX2ZkLCBvdXRidWYsIHN0cmxlbihvdXRidWYpKTsKQEAgLTI2MSw3ICsyNjcsNyBA
QAogCiAKIHZvaWQgbG9nX2Vycm9yKGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpm
b3JtYXQsIC4uLikgewotICAgdmFfbGlzdCBhcDsKKyAgIHZhX2xpc3QgYXAsIGFwX2NvcHk7CiAg
ICB0aW1lX3QgdDsKICAgIHN0cnVjdCB0bSAqdGltOwogICAgY2hhciBzdHJpbmdbMTI4XTsKQEAg
LTI3OSwxMyArMjg1LDE3IEBACiAgICAgICB0aW09bG9jYWx0aW1lKCZ0KTsKICAgICAgIGZwcmlu
dGYoc3RkZXJyLCIlMi4yaTolMi4yaTolMi4yaSBFUlJPUjolczolaSAiLHRpbS0+dG1faG91ciwK
ICAgICAgICAgICAgICAgICAgICAgICB0aW0tPnRtX21pbiwgdGltLT50bV9zZWMsIGZpbGUsIGxp
bmUpOwotICAgICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwKTsKKyAgICAgIHZhX2NvcHko
YXBfY29weSwgYXApOworICAgICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwX2NvcHkpOwor
ICAgICAgdmFfZW5kKGFwX2NvcHkpOwogICAgICAgZnByaW50ZihzdGRlcnIsIlxuIik7CiAgICAg
ICBmZmx1c2goc3RkZXJyKTsKICAgIH0KICAgIGlmIChzaWxlbmNlX2xldmVsIDwgNCkgewogICAg
ICAgLyogcnVubmluZyBhcyBkYWVtb24gLSBsb2cgdmlhIFNZU0xPRyBmYWNpbGl0eSAqLwotICAg
ICAgdnNucHJpbnRmKHN0cmluZywgc2l6ZW9mKHN0cmluZyksIGZvcm1hdCwgYXApOworICAgICAg
dmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2c25wcmludGYoc3RyaW5nLCBzaXplb2Yoc3Ry
aW5nKSwgZm9ybWF0LCBhcF9jb3B5KTsKKyAgICAgIHZhX2VuZChhcF9jb3B5KTsKICAgICAgIHN5
c2xvZyhMT0dfVVNFUnxMT0dfV0FSTklORywgIiVzOiVpIEVSUk9SOiVzIiwgZmlsZSwgbGluZSwg
c3RyaW5nKTsKICAgIH0KICAgIC8qCkBAIC0yOTgsNyArMzA4LDkgQEAKICAgICAgIHNucHJpbnRm
KG91dGJ1Ziwgc2l6ZW9mKG91dGJ1ZikgLCIlMi4yaTolMi4yaTolMi4yaSBFUlJPUjolczolaSAi
LAogICAgICAgICAgICAgICAgICAgICAgICB0aW0tPnRtX2hvdXIsIHRpbS0+dG1fbWluLCB0aW0t
PnRtX3NlYywgZmlsZSwgbGluZSk7CiAgICAgICB3cml0ZShkZWJ1Z19mZCwgb3V0YnVmLCBzdHJs
ZW4ob3V0YnVmKSk7Ci0gICAgICB2c25wcmludGYob3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIGZv
cm1hdCwgYXApOworICAgICAgdmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2c25wcmludGYo
b3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIGZvcm1hdCwgYXBfY29weSk7CisgICAgICB2YV9lbmQo
YXBfY29weSk7CiAgICAgICB3cml0ZShkZWJ1Z19mZCwgb3V0YnVmLCBzdHJsZW4ob3V0YnVmKSk7
CiAgICAgICBzbnByaW50ZihvdXRidWYsIHNpemVvZihvdXRidWYpICwiXG4iKTsKICAgICAgIHdy
aXRlKGRlYnVnX2ZkLCBvdXRidWYsIHN0cmxlbihvdXRidWYpKTsKQEAgLTMxMiw3ICszMjQsNyBA
QAogCiAKIHZvaWQgbG9nX3dhcm4oY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZv
cm1hdCwgLi4uKSB7Ci0gICB2YV9saXN0IGFwOworICAgdmFfbGlzdCBhcCwgYXBfY29weTsKICAg
IHRpbWVfdCB0OwogICAgc3RydWN0IHRtICp0aW07CiAgICBjaGFyIHN0cmluZ1sxMjhdOwpAQCAt
MzMwLDEzICszNDIsMTcgQEAKICAgICAgIHRpbT1sb2NhbHRpbWUoJnQpOwogICAgICAgZnByaW50
ZihzdGRlcnIsIiUyLjJpOiUyLjJpOiUyLjJpIFdBUk5JTkc6JXM6JWkgIix0aW0tPnRtX2hvdXIs
CiAgICAgICAgICAgICAgICAgICAgICAgdGltLT50bV9taW4sIHRpbS0+dG1fc2VjLGZpbGUsbGlu
ZSk7Ci0gICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOworICAgICAgdmFfY29weShh
cF9jb3B5LCBhcCk7CisgICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXBfY29weSk7Cisg
ICAgICB2YV9lbmQoYXBfY29weSk7CiAgICAgICBmcHJpbnRmKHN0ZGVyciwiXG4iKTsKICAgICAg
IGZmbHVzaChzdGRlcnIpOwogICAgfQogICAgaWYgKHNpbGVuY2VfbGV2ZWwgPCAzKSB7CiAgICAg
ICAvKiBydW5uaW5nIGFzIGRhZW1vbiAtIGxvZyB2aWEgU1lTTE9HIGZhY2lsaXR5ICovCi0gICAg
ICB2c25wcmludGYoc3RyaW5nLCBzaXplb2Yoc3RyaW5nKSwgZm9ybWF0LCBhcCk7CisgICAgICB2
YV9jb3B5KGFwX2NvcHksIGFwKTsKKyAgICAgIHZzbnByaW50ZihzdHJpbmcsIHNpemVvZihzdHJp
bmcpLCBmb3JtYXQsIGFwX2NvcHkpOworICAgICAgdmFfZW5kKGFwX2NvcHkpOwogICAgICAgc3lz
bG9nKExPR19EQUVNT058TE9HX05PVElDRSwgIiVzOiVpIFdBUk5JTkc6JXMiLCBmaWxlLCBsaW5l
LCBzdHJpbmcpOwogICAgfQogICAgLyoKQEAgLTM0OSw3ICszNjUsOSBAQAogICAgICAgc25wcmlu
dGYob3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIiUyLjJpOiUyLjJpOiUyLjJpIFdBUk5JTkc6JXM6
JWkgIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGltLT50bV9ob3VyLCB0aW0tPnRtX21pbiwg
dGltLT50bV9zZWMsIGZpbGUsIGxpbmUpOwogICAgICAgd3JpdGUoZGVidWdfZmQsIG91dGJ1Ziwg
c3RybGVuKG91dGJ1ZikpOwotICAgICAgdnNucHJpbnRmKG91dGJ1Ziwgc2l6ZW9mKG91dGJ1Zikg
LCBmb3JtYXQsIGFwKTsKKyAgICAgIHZhX2NvcHkoYXBfY29weSwgYXApOworICAgICAgdnNucHJp
bnRmKG91dGJ1Ziwgc2l6ZW9mKG91dGJ1ZikgLCBmb3JtYXQsIGFwX2NvcHkpOworICAgICAgdmFf
ZW5kKGFwX2NvcHkpOwogICAgICAgd3JpdGUoZGVidWdfZmQsIG91dGJ1Ziwgc3RybGVuKG91dGJ1
ZikpOwogICAgICAgc25wcmludGYob3V0YnVmLCBzaXplb2Yob3V0YnVmKSAsIlxuIik7CiAgICAg
ICB3cml0ZShkZWJ1Z19mZCwgb3V0YnVmLCBzdHJsZW4ob3V0YnVmKSk7CkBAIC0zNjMsNyArMzgx
LDcgQEAKIAogCiB2b2lkIGxvZ19pbmZvKGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFy
ICpmb3JtYXQsIC4uLikgewotICAgdmFfbGlzdCBhcDsKKyAgIHZhX2xpc3QgYXAsIGFwX2NvcHk7
CiAgICB0aW1lX3QgdDsKICAgIHN0cnVjdCB0bSAqdGltOwogICAgY2hhciBzdHJpbmdbMTI4XTsK
QEAgLTM4MSwxMyArMzk5LDE3IEBACiAgICAgICB0aW09bG9jYWx0aW1lKCZ0KTsKICAgICAgIGZw
cmludGYoc3RkZXJyLCIlMi4yaTolMi4yaTolMi4yaSBJTkZPOiVzOiVpICIsdGltLT50bV9ob3Vy
LAogICAgICAgICAgICAgICAgICAgICAgIHRpbS0+dG1fbWluLCB0aW0tPnRtX3NlYyxmaWxlLGxp
bmUpOwotICAgICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwKTsKKyAgICAgIHZhX2NvcHko
YXBfY29weSwgYXApOworICAgICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwX2NvcHkpOwor
ICAgICAgdmFfZW5kKGFwX2NvcHkpOwogICAgICAgZnByaW50ZihzdGRlcnIsIlxuIik7CiAgICAg
ICBmZmx1c2goc3RkZXJyKTsKICAgIH0KICAgIGlmIChzaWxlbmNlX2xldmVsIDwgMikgewogICAg
ICAgLyogcnVubmluZyBhcyBkYWVtb24gLSBsb2cgdmlhIFNZU0xPRyBmYWNpbGl0eSAqLwotICAg
ICAgdnNucHJpbnRmKHN0cmluZywgc2l6ZW9mKHN0cmluZyksIGZvcm1hdCwgYXApOworICAgICAg
dmFfY29weShhcF9jb3B5LCBhcCk7CisgICAgICB2c25wcmludGYoc3RyaW5nLCBzaXplb2Yoc3Ry
aW5nKSwgZm9ybWF0LCBhcF9jb3B5KTsKKyAgICAgIHZhX2VuZChhcF9jb3B5KTsKICAgICAgIHN5
c2xvZyhMT0dfREFFTU9OfExPR19OT1RJQ0UsICIlczolaSBJTkZPOiVzIiwgZmlsZSwgbGluZSwg
c3RyaW5nKTsKICAgIH0KICAgIC8qCkBAIC00MDAsNyArNDIyLDkgQEAKICAgICAgIHNucHJpbnRm
KG91dGJ1Ziwgc2l6ZW9mKG91dGJ1ZikgLCIlMi4yaTolMi4yaTolMi4yaSBJTkZPOiVzOiVpICIs
CiAgICAgICAgICAgICAgICAgICAgICAgIHRpbS0+dG1faG91ciwgdGltLT50bV9taW4sIHRpbS0+
dG1fc2VjLCBmaWxlLCBsaW5lKTsKICAgICAgIHdyaXRlKGRlYnVnX2ZkLCBvdXRidWYsIHN0cmxl
bihvdXRidWYpKTsKLSAgICAgIHZzbnByaW50ZihvdXRidWYsIHNpemVvZihvdXRidWYpICwgZm9y
bWF0LCBhcCk7CisgICAgICB2YV9jb3B5KGFwX2NvcHksIGFwKTsKKyAgICAgIHZzbnByaW50Zihv
dXRidWYsIHNpemVvZihvdXRidWYpICwgZm9ybWF0LCBhcF9jb3B5KTsKKyAgICAgIHZhX2VuZChh
cF9jb3B5KTsKICAgICAgIHdyaXRlKGRlYnVnX2ZkLCBvdXRidWYsIHN0cmxlbihvdXRidWYpKTsK
ICAgICAgIHNucHJpbnRmKG91dGJ1Ziwgc2l6ZW9mKG91dGJ1ZikgLCJcbiIpOwogICAgICAgd3Jp
dGUoZGVidWdfZmQsIG91dGJ1Ziwgc3RybGVuKG91dGJ1ZikpOwpkaWZmIC11ciBzaXByb3hkLTAu
NS4xMy5vbGQvc3JjL2xvZy5oIHNpcHJveGQtMC41LjEzL3NyYy9sb2cuaAotLS0gc2lwcm94ZC0w
LjUuMTMub2xkL3NyYy9sb2cuaAkyMDA1LTEyLTI3IDAwOjM5OjEyLjAwMDAwMDAwMCArMDgwMAor
Kysgc2lwcm94ZC0wLjUuMTMvc3JjL2xvZy5oCTIwMDYtMDUtMDggMTI6MDI6MjAuMDAwMDAwMDAw
ICswODAwCkBAIC00NiwyMCArNDYsMjcgQEAKIHZvaWQgbG9nX3RjcF9saXN0ZW4odm9pZCk7CiB2
b2lkIGxvZ190Y3BfY29ubmVjdCh2b2lkKTsKIAorI2lmIF9fR05VQ19fID4gMiB8fCAoX19HTlVD
X18gPT0gMiAmJiBfX0dOVUNfTUlOT1JfXyA+IDQpCisjICBkZWZpbmUgR05VQ19QUklOVEYoZm9y
bWF0X2lkeCwgYXJnX2lkeCkgXAorICAgICBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3By
aW50Zl9fLCBmb3JtYXRfaWR4LCBhcmdfaWR4KSkpCisjZWxzZQorIyAgZGVmaW5lIEdOVUNfUFJJ
TlRGKGZvcm1hdF9pZHgsIGFyZ19pZHgpCisjZW5kaWYKKwogI3VuZGVmIERFQlVHCiAjZGVmaW5l
IERFQlVHKEYuLi4pIGxvZ19kZWJ1ZygxLF9fRklMRV9fLCBfX0xJTkVfXyxGKQogCiAjZGVmaW5l
IERFQlVHQyhDLEYuLi4pIGxvZ19kZWJ1ZyhDLF9fRklMRV9fLCBfX0xJTkVfXyxGKQotdm9pZCBs
b2dfZGVidWcoaW50IGNsYXNzLCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm9y
bWF0LCAuLi4pOwordm9pZCBsb2dfZGVidWcoaW50IGNsYXNzLCBjaGFyICpmaWxlLCBpbnQgbGlu
ZSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIEdOVUNfUFJJTlRGKDQsIDUpOwogCiAjZGVmaW5l
IEVSUk9SKEYuLi4pIGxvZ19lcnJvcihfX0ZJTEVfXywgX19MSU5FX18sRikKLXZvaWQgbG9nX2Vy
cm9yKGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lk
IGxvZ19lcnJvcihjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4p
IEdOVUNfUFJJTlRGKDMsIDQpOwogCiAjZGVmaW5lIFdBUk4oRi4uLikgbG9nX3dhcm4oX19GSUxF
X18sIF9fTElORV9fLEYpCi12b2lkIGxvZ193YXJuKGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lkIGxvZ193YXJuKGNoYXIgKmZpbGUsIGludCBsaW5l
LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgR05VQ19QUklOVEYoMywgNCk7CiAKICNkZWZpbmUg
SU5GTyhGLi4uKSBsb2dfaW5mbyhfX0ZJTEVfXywgX19MSU5FX18sRikKLXZvaWQgbG9nX2luZm8o
Y2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKK3ZvaWQgbG9n
X2luZm8oY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKSBHTlVD
X1BSSU5URigzLCA0KTsKIAogLyogdG9iZWRvbmU6IGR1bXAgYSBidWZmZXIgKi8KICNkZWZpbmUg
RFVNUF9CVUZGRVIoQyxGLEwpIGxvZ19kdW1wX2J1ZmZlcihDLF9fRklMRV9fLCBfX0xJTkVfXyxG
LEwpCmRpZmYgLXVyIHNpcHJveGQtMC41LjEzLm9sZC9zcmMvcGx1Z2luX3Nob3J0ZGlhbC5jIHNp
cHJveGQtMC41LjEzL3NyYy9wbHVnaW5fc2hvcnRkaWFsLmMKLS0tIHNpcHJveGQtMC41LjEzLm9s
ZC9zcmMvcGx1Z2luX3Nob3J0ZGlhbC5jCTIwMDYtMDQtMjUgMDM6Mzg6MzMuMDAwMDAwMDAwICsw
ODAwCisrKyBzaXByb3hkLTAuNS4xMy9zcmMvcGx1Z2luX3Nob3J0ZGlhbC5jCTIwMDYtMDUtMDgg
MTM6MTc6MzguMDAwMDAwMDAwICswODAwCkBAIC03OSw3ICs3OSw3IEBACiAKICAgIC8qIHJlcXVl
c3RlZCBudW1iZXIgaXMgbm90IGRlZmluZWQgKG91dCBvZiByYW5nZSkgKi8KICAgIGlmIChzaG9y
dGN1dF9ubyA+IGNvbmZpZ3VyYXRpb24ucGlfc2hvcnRkaWFsX2VudHJ5LnVzZWQpIHsKLSAgICAg
IERFQlVHQyhEQkNMQVNTX1BMVUdJTiwgInNob3J0ZGlhbDogc2hvcnRjdXQgJWkgPiBhdmFpbGFi
bGUgc2hvcnRjdXRzIiwKKyAgICAgIERFQlVHQyhEQkNMQVNTX1BMVUdJTiwgInNob3J0ZGlhbDog
c2hvcnRjdXQgJWkgPiBhdmFpbGFibGUgc2hvcnRjdXRzICglaSkiLAogICAgICAgICAgICAgc2hv
cnRjdXRfbm8sIGNvbmZpZ3VyYXRpb24ucGlfc2hvcnRkaWFsX2VudHJ5LnVzZWQpOwogICAgICAg
cmV0dXJuIFNUU19TVUNDRVNTOwogICAgfQpkaWZmIC11ciBzaXByb3hkLTAuNS4xMy5vbGQvc3Jj
L3Byb3h5LmMgc2lwcm94ZC0wLjUuMTMvc3JjL3Byb3h5LmMKLS0tIHNpcHJveGQtMC41LjEzLm9s
ZC9zcmMvcHJveHkuYwkyMDA2LTA0LTI1IDAzOjM1OjUyLjAwMDAwMDAwMCArMDgwMAorKysgc2lw
cm94ZC0wLjUuMTMvc3JjL3Byb3h5LmMJMjAwNi0wNS0wOCAxMzoxODo0NC4wMDAwMDAwMDAgKzA4
MDAKQEAgLTgyMyw3ICs4MjMsNyBAQAogICAgICAgRVJST1IoInJld3JpdGVfaW52aXRhdGlvbl9i
b2R5OiB1bmFibGUgdG8gc2lwX2JvZHlfdG9fc3RyIik7CiAgICB9CiAKLSAgIERFQlVHQygtMSwg
InJld3JpdGVfaW52aXRhdGlvbl9ib2R5OiBwYXlsb2FkICVpIGJ5dGVzIiwgYnVmbGVuKTsKKyAg
IERFQlVHQygtMSwgInJld3JpdGVfaW52aXRhdGlvbl9ib2R5OiBwYXlsb2FkICVsZCBieXRlcyIs
IChsb25nKWJ1Zmxlbik7CiAgICBEVU1QX0JVRkZFUigtMSwgYnVmZiwgYnVmbGVuKTsKIAogICAg
c3RzID0gc2RwX21lc3NhZ2VfaW5pdCgmc2RwKTsKQEAgLTg0NSw4ICs4NDUsOCBAQAogICAgc3Rz
ID0gb3NpcF9tZXNzYWdlX2dldF9ib2R5KG15bXNnLCAwLCAmYm9keSk7CiAgICBzdHMgPSBzaXBf
Ym9keV90b19zdHIoYm9keSwgJnRtcCwgJnRtcGxlbik7CiAgICBvc2lwX2NvbnRlbnRfbGVuZ3Ro
X3RvX3N0cihteW1zZy0+Y29udGVudF9sZW5ndGgsICZ0bXAyKTsKLSAgIERFQlVHKCJCb2R5IGJl
Zm9yZSByZXdyaXRlIChjbGVuPSVzLCBzdHJsZW49JWkpOlxuJXNcbi0tLS0iLAotICAgICAgICAg
dG1wMiwgdG1wbGVuLCB0bXApOworICAgREVCVUcoIkJvZHkgYmVmb3JlIHJld3JpdGUgKGNsZW49
JXMsIHN0cmxlbj0lbGQpOlxuJXNcbi0tLS0iLAorICAgICAgICAgdG1wMiwgKGxvbmcpdG1wbGVu
LCB0bXApOwogICAgb3NpcF9mcmVlKHRtcCk7CiAgICBvc2lwX2ZyZWUodG1wMik7CiB9CkBAIC0x
MDk1LDcgKzEwOTUsNyBAQAogICAgLyogZnJlZSBjb250ZW50IGxlbmd0aCByZXNvdXJjZSBhbmQg
aW5jbHVkZSBuZXcgb25lKi8KICAgIG9zaXBfY29udGVudF9sZW5ndGhfZnJlZShteW1zZy0+Y29u
dGVudF9sZW5ndGgpOwogICAgbXltc2ctPmNvbnRlbnRfbGVuZ3RoPU5VTEw7Ci0gICBzcHJpbnRm
KGNsZW4sIiVpIixidWZsZW4pOworICAgc3ByaW50ZihjbGVuLCIlbGQiLChsb25nKWJ1Zmxlbik7
CiAgICBzdHMgPSBvc2lwX21lc3NhZ2Vfc2V0X2NvbnRlbnRfbGVuZ3RoKG15bXNnLCBjbGVuKTsK
IAogICAgLyogZnJlZSBvbGQgYm9keSAqLwpAQCAtMTEwOCw4ICsxMTA4LDggQEAKICAgIHN0cyA9
IG9zaXBfbWVzc2FnZV9nZXRfYm9keShteW1zZywgMCwgJmJvZHkpOwogICAgc3RzID0gc2lwX2Jv
ZHlfdG9fc3RyKGJvZHksICZ0bXAsICZ0bXBsZW4pOwogICAgb3NpcF9jb250ZW50X2xlbmd0aF90
b19zdHIobXltc2ctPmNvbnRlbnRfbGVuZ3RoLCAmdG1wMik7Ci0gICBERUJVRygiQm9keSBhZnRl
ciByZXdyaXRlIChjbGVuPSVzLCBzdHJsZW49JWkpOlxuJXNcbi0tLS0iLAotICAgICAgICAgdG1w
MiwgdG1wbGVuLCB0bXApOworICAgREVCVUcoIkJvZHkgYWZ0ZXIgcmV3cml0ZSAoY2xlbj0lcywg
c3RybGVuPSVsZCk6XG4lc1xuLS0tLSIsCisgICAgICAgICB0bXAyLCAobG9uZyl0bXBsZW4sIHRt
cCk7CiAgICBvc2lwX2ZyZWUodG1wKTsKICAgIG9zaXBfZnJlZSh0bXAyKTsKIH0KZGlmZiAtdXIg
c2lwcm94ZC0wLjUuMTMub2xkL3NyYy9ydHBwcm94eS5jIHNpcHJveGQtMC41LjEzL3NyYy9ydHBw
cm94eS5jCi0tLSBzaXByb3hkLTAuNS4xMy5vbGQvc3JjL3J0cHByb3h5LmMJMjAwNi0wMi0xMSAx
Nzo0MzoxOS4wMDAwMDAwMDAgKzA4MDAKKysrIHNpcHJveGQtMC41LjEzL3NyYy9ydHBwcm94eS5j
CTIwMDYtMDUtMDggMTM6MTI6NTQuMDAwMDAwMDAwICswODAwCkBAIC00OCw3ICs0OCw3IEBACiAg
ICB9IGVsc2UgaWYgKGNvbmZpZ3VyYXRpb24ucnRwX3Byb3h5X2VuYWJsZSA9PSAxKSB7IC8vIFJl
bGF5CiAgICAgICBzdHMgPSBydHBfcmVsYXlfaW5pdCAoKTsKICAgIH0gZWxzZSB7Ci0gICAgICBF
UlJPUigiQ09ORklHOiBydHBfcHJveHlfZW5hYmxlIGhhcyBpbnZhbGlkIHZhbHVlIiwKKyAgICAg
IEVSUk9SKCJDT05GSUc6IHJ0cF9wcm94eV9lbmFibGUgaGFzIGludmFsaWQgdmFsdWU6ICVkIiwK
ICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24ucnRwX3Byb3h5X2VuYWJsZSk7CiAgICB9CiAKQEAg
LTc2LDcgKzc2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2lw
YWRkciwgbG9jYWxfcG9ydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90
ZV9pcGFkZHIsIHJlbW90ZV9wb3J0KTsKICAgIH0gZWxzZSB7Ci0gICAgICBFUlJPUigiQ09ORklH
OiBydHBfcHJveHlfZW5hYmxlIGhhcyBpbnZhbGlkIHZhbHVlIiwKKyAgICAgIEVSUk9SKCJDT05G
SUc6IHJ0cF9wcm94eV9lbmFibGUgaGFzIGludmFsaWQgdmFsdWU6ICVkIiwKICAgICAgICAgICAg
IGNvbmZpZ3VyYXRpb24ucnRwX3Byb3h5X2VuYWJsZSk7CiAgICB9CiAKQEAgLTk5LDcgKzk5LDcg
QEAKICAgIH0gZWxzZSBpZiAoY29uZmlndXJhdGlvbi5ydHBfcHJveHlfZW5hYmxlID09IDEpIHsg
Ly8gUmVsYXkKICAgICAgIHN0cyA9IHJ0cF9yZWxheV9zdG9wX2Z3ZChjYWxsaWQsIGRpcmVjdGlv
biwgLTEsIDApOwogICAgfSBlbHNlIHsKLSAgICAgIEVSUk9SKCJDT05GSUc6IHJ0cF9wcm94eV9l
bmFibGUgaGFzIGludmFsaWQgdmFsdWUiLAorICAgICAgRVJST1IoIkNPTkZJRzogcnRwX3Byb3h5
X2VuYWJsZSBoYXMgaW52YWxpZCB2YWx1ZTogJWQiLAogICAgICAgICAgICAgY29uZmlndXJhdGlv
bi5ydHBfcHJveHlfZW5hYmxlKTsKICAgIH0KIApkaWZmIC11ciBzaXByb3hkLTAuNS4xMy5vbGQv
c3JjL3J0cHByb3h5X3JlbGF5LmMgc2lwcm94ZC0wLjUuMTMvc3JjL3J0cHByb3h5X3JlbGF5LmMK
LS0tIHNpcHJveGQtMC41LjEzLm9sZC9zcmMvcnRwcHJveHlfcmVsYXkuYwkyMDA2LTAyLTExIDE3
OjQzOjE5LjAwMDAwMDAwMCArMDgwMAorKysgc2lwcm94ZC0wLjUuMTMvc3JjL3J0cHByb3h5X3Jl
bGF5LmMJMjAwNi0wNS0wOCAxMzoxOTozNy4wMDAwMDAwMDAgKzA4MDAKQEAgLTQyOCwyMCArNDI4
LDIwIEBACiAgICAgKi8KICAgIGlmIChjYWxsaWQtPm51bWJlciAmJiAoc3RybGVuKGNhbGxpZC0+
bnVtYmVyKSA+PSBDQUxMSUROVU1fU0laRSkpIHsKICAgICAgIEVSUk9SKCJydHBfcmVsYXlfc3Rh
cnRfZndkOiByZWNlaXZlZCBjYWxsaWQgbnVtYmVyIFslc10gIgotICAgICAgICAgICAgImhhcyB0
b28gbWFueSBjaGFyYWN0ZXJzICglaSwgbWF4PSVpKSIsCi0gICAgICAgICAgICBjYWxsaWQtPm51
bWJlciwgc3RybGVuKGNhbGxpZC0+bnVtYmVyKSxDQUxMSUROVU1fU0laRSk7CisgICAgICAgICAg
ICAiaGFzIHRvbyBtYW55IGNoYXJhY3RlcnMgKCVsZCwgbWF4PSVpKSIsCisgICAgICAgICAgICBj
YWxsaWQtPm51bWJlciwgKGxvbmcpc3RybGVuKGNhbGxpZC0+bnVtYmVyKSxDQUxMSUROVU1fU0la
RSk7CiAgICAgICByZXR1cm4gU1RTX0ZBSUxVUkU7CiAgICB9CiAgICBpZiAoY2FsbGlkLT5ob3N0
ICYmIChzdHJsZW4oY2FsbGlkLT5ob3N0KSA+PSBDQUxMSURIT1NUX1NJWkUpKSB7CiAgICAgICBF
UlJPUigicnRwX3JlbGF5X3N0YXJ0X2Z3ZDogcmVjZWl2ZWQgY2FsbGlkIGhvc3QgWyVzXSAiCi0g
ICAgICAgICAgICAiaGFzIHRvbyBtYW55IGNoYXJhY3RlcnMgKCVpLCBtYXg9JWkpIiwKLSAgICAg
ICAgICAgIGNhbGxpZC0+aG9zdCwgc3RybGVuKGNhbGxpZC0+aG9zdCksQ0FMTElESE9TVF9TSVpF
KTsKKyAgICAgICAgICAgICJoYXMgdG9vIG1hbnkgY2hhcmFjdGVycyAoJWxkLCBtYXg9JWkpIiwK
KyAgICAgICAgICAgIGNhbGxpZC0+aG9zdCwgKGxvbmcpc3RybGVuKGNhbGxpZC0+aG9zdCksQ0FM
TElESE9TVF9TSVpFKTsKICAgICAgIHJldHVybiBTVFNfRkFJTFVSRTsKICAgIH0KICAgIGlmIChj
bGllbnRfaWQgJiYgKHN0cmxlbihjbGllbnRfaWQpID49IENMSUVOVF9JRF9TSVpFKSkgewogICAg
ICAgRVJST1IoInJ0cF9yZWxheV9zdGFydF9md2Q6IGNsaWVudCBJRCBbJXNdIGhhcyB0b28gbWFu
eSBjaGFyYWN0ZXJzICIKLSAgICAgICAgICAgICIoJWksIG1heD0laSkiLAotICAgICAgICAgICAg
Y2xpZW50X2lkLCBzdHJsZW4oY2xpZW50X2lkKSxDTElFTlRfSURfU0laRSk7CisgICAgICAgICAg
ICAiKCVsZCwgbWF4PSVpKSIsCisgICAgICAgICAgICBjbGllbnRfaWQsIChsb25nKXN0cmxlbihj
bGllbnRfaWQpLENMSUVOVF9JRF9TSVpFKTsKICAgICAgIHJldHVybiBTVFNfRkFJTFVSRTsKICAg
IH0KIApAQCAtNTk1LDcgKzU5NSw3IEBACiAgICAgICAgICAgICB0b3MgPSAoY29uZmlndXJhdGlv
bi5ydHBfZHNjcCA8PCAyKSAmIDB4ZmY7CiAgICAgICAgICAgICBpZihzZXRzb2Nrb3B0KHNvY2ss
IFNPTF9JUCwgSVBfVE9TLCAmdG9zLCBzaXplb2YodG9zKSkpIHsKICAgICAgICAgICAgICAgIEVS
Uk9SKCJydHBfcmVsYXlfc3RhcnRfZndkOiBzZXRzb2Nrb3B0KCkgZmFpbGVkIHdoaWxlICIKLSAg
ICAgICAgICAgICAgICAgICAgICJzZXR0aW5nIERTQ1AgdmFsdWU6ICIsIHN0cmVycm9yKGVycm5v
KSk7CisgICAgICAgICAgICAgICAgICAgICAic2V0dGluZyBEU0NQIHZhbHVlOiAlcyIsIHN0cmVy
cm9yKGVycm5vKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgRVJST1IoInJ0cF9yZWxheV9zdGFydF9md2Q6IEludmFsaWQgRFNDUCB2YWx1ZSAlZCIsCmRp
ZmYgLXVyIHNpcHJveGQtMC41LjEzLm9sZC9zcmMvc2VjdXJpdHkuYyBzaXByb3hkLTAuNS4xMy9z
cmMvc2VjdXJpdHkuYwotLS0gc2lwcm94ZC0wLjUuMTMub2xkL3NyYy9zZWN1cml0eS5jCTIwMDYt
MDQtMjUgMDA6MzI6MTMuMDAwMDAwMDAwICswODAwCisrKyBzaXByb3hkLTAuNS4xMy9zcmMvc2Vj
dXJpdHkuYwkyMDA2LTA1LTA4IDEzOjE5OjU2LjAwMDAwMDAwMCArMDgwMApAQCAtNDUsNyArNDUs
NyBAQAogaW50IHNlY3VyaXR5X2NoZWNrX3JhdyhjaGFyICpzaXBfYnVmZmVyLCBzaXplX3Qgc2l6
ZSkgewogICAgY2hhciAqcDE9TlVMTCwgKnAyPU5VTEw7CiAKLSAgIERFQlVHQyhEQkNMQVNTX0JB
QkJMRSwic2VjdXJpdHlfY2hlY2tfcmF3OiBzaXplPSVpIiwgc2l6ZSk7CisgICBERUJVR0MoREJD
TEFTU19CQUJCTEUsInNlY3VyaXR5X2NoZWNrX3Jhdzogc2l6ZT0lbGQiLCAobG9uZylzaXplKTsK
ICAgIC8qCiAgICAgKiBlbXBpcmljOiBzaXplIG11c3QgYmUgPj0gMTYgYnl0ZXMKICAgICAqICAg
MiBieXRlIDxDUj48TEY+IHBhY2tldHMgaGF2ZSBiZWVuIHNlZW4gaW4gdGhlIHdpbGQKZGlmZiAt
dXIgc2lwcm94ZC0wLjUuMTMub2xkL3NyYy9zb2NrLmMgc2lwcm94ZC0wLjUuMTMvc3JjL3NvY2su
YwotLS0gc2lwcm94ZC0wLjUuMTMub2xkL3NyYy9zb2NrLmMJMjAwNi0wNC0yNSAwMDoyNjoyOS4w
MDAwMDAwMDAgKzA4MDAKKysrIHNpcHJveGQtMC41LjEzL3NyYy9zb2NrLmMJMjAwNi0wNS0wOCAx
MzoxODo1OS4wMDAwMDAwMDAgKzA4MDAKQEAgLTE3MCw5ICsxNzAsOSBAQAogICAgCiAgICBpZiAo
c3RzID09IC0xKSB7CiAgICAgICBpZiAoZXJybm8gIT0gRUNPTk5SRUZVU0VEKSB7Ci0gICAgICAg
ICBFUlJPUigic2VuZHRvKCkgWyVzOiVpIHNpemU9JWldIGNhbGwgZmFpbGVkOiAlcyIsCisgICAg
ICAgICBFUlJPUigic2VuZHRvKCkgWyVzOiVpIHNpemU9JWxkXSBjYWxsIGZhaWxlZDogJXMiLAog
ICAgICAgICAgICAgICAgdXRpbHNfaW5ldF9udG9hKGFkZHIpLAotICAgICAgICAgICAgICAgcG9y
dCwgc2l6ZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICAgIHBvcnQsIChsb25nKXNp
emUsIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICAgICByZXR1cm4gU1RTX0ZBSUxVUkU7CiAgICAg
ICB9CiAgICAgICBERUJVR0MoREJDTEFTU19CQUJCTEUsInNlbmR0bygpIFslczolaV0gY2FsbCBm
YWlsZWQ6ICVzIiwK
</data>
    </attachment><category>General</category>
    <closed_by>tries</closed_by>
    <comment>
      <date>2006-05-20 06:26</date>
      <description>Date: 2006-05-20 06:26
Sender: tries
Logged In: YES 
user_id=438614

Thanks for the patch, I fully agree with you adaptions. All
of it is available in the latest snapshot now.


Regards,
/Thomas</description>
      <sender>tries</sender>
      <sender_user_id>438614</sender_user_id>
    </comment><date_closed>2006-05-20 06:26</date_closed>
    <date_last_updated>2006-05-20 06:26</date_last_updated>
    <date_submitted>2006-05-07 22:46</date_submitted>
    <description>While trying to debug some problems with siproxd and
ekiga, I found a number of problems with the
debugging/logging code. The attached patch addresses
them, doing the following:

1. tell gcc that the logging functions use printf style
format strings. This gets gcc to tell us about a lot
of the problems.

2. size_t is not an int on AMD64, so don't treat it
like one. I've changed to use "%ld" format code and
cast to a long, which should work well enough.

3. some format strings didn't match the argument lists.
These fixes are pretty clear.

4. log_debug, log_error, log_warn, log_info could all
end up evaluating their varargs list multiple times if
the message was to be logged to multiple places. This
causes the second/third uses to access invalid memory
and potentially segfault. I fixed this by using
va_copy() to copy the varargs list for each use. Add a Comment:</description>
    <group>siproxd-0.5.x</group>
    <item_id>1483643</item_id>
    <last_updated_by>tries - Comment added</last_updated_by>
    <number_of_attachments>1</number_of_attachments>
    <number_of_comments>1</number_of_comments>
    <priority>5</priority>
    <resolution>Fixed</resolution>
    <status>Closed</status>
    <submitted_by>James Henstridge - jhenstridge</submitted_by>
    <summary>Multiple problems in debug/logging code</summary>
    <title>Multiple problems in debug/logging code</title>
  </item>
</tracker>
