{"name":"README.md","path":"README.md","sha":"4e9bcdfa9a3a36a0689a8ffc0d42a95759983f49","size":17186,"url":"https://api.github.com/repos/fonoster/routr/contents/README.md?ref=main","html_url":"https://github.com/fonoster/routr/blob/main/README.md","git_url":"https://api.github.com/repos/fonoster/routr/git/blobs/4e9bcdfa9a3a36a0689a8ffc0d42a95759983f49","download_url":"https://raw.githubusercontent.com/fonoster/routr/main/README.md","type":"file","content":"PGRpdiBhbGlnbj0iY2VudGVyIj4KICA8cCBhbGlnbj0iY2VudGVyIj4KICAg\nIDxhIGhyZWY9Imh0dHBzOi8vcm91dHIuaW8iIHRhcmdldD0iX2JsYW5rIiBy\nZWw9Im5vb3BlbmVyIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vcmF3Lmdp\ndGh1YnVzZXJjb250ZW50LmNvbS9mb25vc3Rlci9yb3V0ci9tYWluL2V0Yy9h\nc3NldHMvYmFubmVyLnBuZyIgLz4KICAgIDwvYT4KICA8L3A+CjwvZGl2PgoK\nPGEgaHJlZj0iaHR0cHM6Ly9naXRwb2QuaW8vI2h0dHBzOi8vZ2l0aHViLmNv\nbS9mb25vc3Rlci9yb3V0ciI+IDxpbWcgc3JjPSJodHRwczovL2ltZy5zaGll\nbGRzLmlvL2JhZGdlL0NvbnRyaWJ1dGUlMjB3aXRoLUdpdHBvZC05MDhhODU/\nbG9nbz1naXRwb2QiIGFsdD0iQ29udHJpYnV0ZSB3aXRoIEdpdHBvZCIgLz4K\nPC9hPiBbIVtTcG9uc29yIHRoaXNdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8v\nc3RhdGljL3YxP2xhYmVsPVNwb25zb3ImbWVzc2FnZT0lRTIlOUQlQTQmbG9n\nbz1HaXRIdWImbGluaz1odHRwczovL2dpdGh1Yi5jb20vc3BvbnNvcnMvZm9u\nb3N0ZXIpXShodHRwczovL2dpdGh1Yi5jb20vc3BvbnNvcnMvZm9ub3N0ZXIp\nIFshW0Rpc2NvcmRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZGlzY29yZC8x\nMDE2NDE5ODM1NDU1OTk2MDc2P2NvbG9yPTU4NjVGMiZsYWJlbD1EaXNjb3Jk\nJmxvZ289ZGlzY29yZCZsb2dvQ29sb3I9d2hpdGUpXShodHRwczovL2Rpc2Nv\ncmQuY29tL2ludml0ZS80UVdnU3o0aFRDKSAhW0dpdEh1Yl0oaHR0cHM6Ly9p\nbWcuc2hpZWxkcy5pby9naXRodWIvbGljZW5zZS9mb25vc3Rlci9yb3V0cj9j\nb2xvcj0lMjM0N2I5NmQpICFbVHdpdHRlciBGb2xsb3ddKGh0dHBzOi8vaW1n\nLnNoaWVsZHMuaW8vdHdpdHRlci9mb2xsb3cvZm9ub3N0ZXI/c3R5bGU9c29j\naWFsKQoKUm91dHIgaXMgYSBsaWdodHdlaWdodCBzaXAgcHJveHksIGxvY2F0\naW9uIHNlcnZlciwgYW5kIHJlZ2lzdHJhciB0aGF0IHByb3ZpZGVzIGEgcmVs\naWFibGUgYW5kIHNjYWxhYmxlIFNJUCBpbmZyYXN0cnVjdHVyZSBmb3IgdGVs\nZXBob255IGNhcnJpZXJzLCBjb21tdW5pY2F0aW9uIHNlcnZpY2UgcHJvdmlk\nZXJzLCBhbmQgaW50ZWdyYXRvcnMuCgojIyBDb250ZW50CgoqIFtDb21tdW5p\ndHldKCNjb21tdW5pdHkpCiogW1Nob3VsZCB5b3UgdHJ5IFJvdXRyP10oI3No\nb3VsZC15b3UtdHJ5LXJvdXRyKQoqIFtDb250YWN0IHVzXSgjY29udGFjdC11\ncykKKiBbRmVhdHVyZXNdKCNmZWF0dXJlcykKKiBbVGhlIG9mZmljaWFsIGhh\nbmRib29rXSgjdGhlLW9mZmljaWFsLWhhbmRib29rKQoqIFtEZXBsb3ltZW50\nXSgjZGVwbG95bWVudCkKICAgICogW0RvY2tlcl0oI2luc3RhbnQtc2VydmVy\nLWRlcGxveW1lbnQtd2l0aC1kb2NrZXItYW5kLWNvbXBvc2UpCiAgICAqIFtL\ndWJlcm5ldGVzXSgja3ViZXJuZXRlcykgIAogICAgKiBbR2l0cG9kXSgjZGV2\nZWxvcG1lbnQtbW9kZS13aXRoLWdpdHBvZCkKKiBbR2V0dGluZyBzdGFydGVk\nIHdpdGggdGhlIENUTF0oI2dldHRpbmctc3RhcnRlZC13aXRoLXRoZS1jdGwp\nCiogW0ZpcnN0IHN0ZXBzIHdpdGggdGhlIE5vZGVTREtdKCNmaXJzdC1zdGVw\ncy13aXRoLXRoZS1ub2Rlc2RrKQoqIFtDdXN0b20gUHJvY2Vzc29ycyBhbmQg\nTWlkZGxld2FyZV0oI2J1aWxkaW5nLWN1c3RvbS1wcm9jZXNzb3JzLWFuZC1t\naWRkbGV3YXJlKQoqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3JvdXRyLmlv\nL2RvY3MpCiogW0J1Z3MgYW5kIGZlZWRiYWNrXSgjYnVncy1hbmQtZmVlZGJh\nY2spCiogW1Nwb25zb3JzXSgjc3BvbnNvcnMpCiogW0NvbnRyaWJ1dGluZ10o\nI2NvbnRyaWJ1dGluZykKKiBbTGljZW5zZV0oI2xpY2Vuc2UpCgojIyBDb21t\ndW5pdHkKCldlIGFyZSBidWlsZGluZyBSb3V0ciBpbiB0aGUgb3Blbi4gVGhl\nIGJlc3QgdG8gY29tbXVuaWNhdGUgd2l0aCB1cyBpcyB2aWEgW0dpdEh1YiBE\naXNjdXNzaW9ucy5dKGh0dHBzOi8vZ2l0aHViLmNvbS9mb25vc3Rlci9yb3V0\nci9kaXNjdXNzaW9ucykKCi0tLQoKPHAgYWxpZ249ImNlbnRlciI+CiAgPHN1\ncD5TcGVjaWFsIEFubm91bmNlbWVudDo8L3N1cD4KICA8YnI+CiAgPGEgaHJl\nZj0iaHR0cHM6Ly9kaXNjb3JkLmdnL21wV1NSVWhHN2UiPgogICAgPGltZyB3\naWR0aD0iNzBweCIgc3JjPSJodHRwczovL2Fzc2V0cy1nbG9iYWwud2Vic2l0\nZS1maWxlcy5jb20vNjI1N2FkZWY5Mzg2N2U1MGQ4NGQzMGUyLzYyNWU1ZmNl\nZjdhYjgwYjhjMWZlNTU5ZV9EaXNjb3JkLUxvZ28tQ29sb3IucG5nIj4KICA8\nL2E+CiAgPGJyPgogIDxzdWI+PGI+V2Ugbm93IGhhdmUgYSBEaXNjb3JkIENo\nYW5uZWw8L2I+PC9zdWI+CiAgPGJyPgogIDxzdWI+VGhlcmUgd2UgcGxhbiB0\nbyBkaXNjdXNzIHJvYWRtYXBzLCBmZWF0dXJlIHJlcXVlc3RzLCBhbmQgbW9y\nZTxicj48YSBocmVmPSJodHRwczovL2Rpc2NvcmQuY29tL2ludml0ZS80UVdn\nU3o0aFRDIj5Kb2luIHVzIHRvZGF5PC9hPjwvc3ViPgo8L3A+CgotLS0KCiMj\nIFNob3VsZCB5b3UgdHJ5IFJvdXRyPwoKPiBSb3V0cidzIGFyY2hpdGVjdHVy\nZSBhbmQgZGVzaWduIGlzIGZhbnRhc3RpYy4gQSBicmVhdGggb2YgZnJlc2gg\nYWlyLiBCZWluZyBEb2NrZXIgYW5kIEt1YmVybmV0ZXMgcmVhZHkgaXMgYSBo\ndWdlIHdpbiBvdmVyIGEgbW9yZSB0cmFkaXRpb25hbCBTSVAgc2VydmVyIHNl\ndHVwLgo+Cj4gW1BoaWwgSm9uZXNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNv\nbS9pbi9waGlsLWpvbmVzLTQzNDY4ODRhLyksIFZQIG9mIFdlYiBBcmNoaXRl\nY3R1cmUgYXQgVlEgQ29tbXVuaWNhdGlvbnMKCj4gSSBjYW1lIGFjcm9zcyBS\nb3V0ciwgd2hpY2ggc2VlbXMgdG8gYmUgdGhlIG9uZSBhbmQgb25seSBjbG91\nZC1maXJzdCBLdWJlcm5ldGVzLXJlYWR5IFNJUCBzZXJ2ZXIgb24gdGhlIHBs\nYW5ldCEKPiAKPiBbSmVzc2llIFdhZG1hbl0oaHR0cHM6Ly93d3cuamVzc2ll\nd2FkbWFuLnNlLyksIENsb3VkIEFyY2hpdGVjdCBAIENhbWFuaW8gQUIKCj4g\nQXdlc29tZSBhbmQgb25lIG9mIHRoZSBiZXN0IG9wZW4tc291cmNlIHNvZnR3\nYXJlIGluIDIwMjMuCj4gCj4gW25vLWNoYW1waW9uc2hpcC1zMzY4XShodHRw\nczovL3d3dy5yZWRkaXQuY29tL3IvbGludXgvY29tbWVudHMvMTF4ZHZvNS9y\nb3V0cl92Ml90aGVfZnV0dXJlX29mX3Byb2dyYW1tYWJsZV9zaXBfc2VydmVy\ncy8pLCBDaGVjayBjb252ZXJzYXRpb24gQCBSZWRkaXQKCj4gSSB0aGluayB0\naGlzIHByb2plY3QgaGFzIGEgZ3JlYXQgcHJvbWlzZSB0byBiZWNvbWUgYSB0\ncmFuc2Zvcm1hdGl2ZSB0ZWNobm9sb2d5Lgo+IAo+IFtqYndpbGwzNl0oaHR0\ncHM6Ly9naXRodWIuY29tL29yZ3MvZm9ub3N0ZXIvZGlzY3Vzc2lvbnMvMjA5\nKSwgQ2hlY2sgY29udmVyc2F0aW9uIEAgR2l0SHViCgojIyBDb250YWN0IHVz\nCgpNZWV0IG91ciBzYWxlcyB0ZWFtIGZvciBhbnkgY29tbWVyY2lhbCBpbnF1\naXJpZXMuCgo8YSBocmVmPSJodHRwczovL2NhbC5jb20vcHNhbmRlcnMiPjxp\nbWcgc3JjPSJodHRwczovL2NhbC5jb20vYm9vay13aXRoLWNhbC1kYXJrLnN2\nZyIgYWx0PSJCb29rIHVzIHdpdGggQ2FsLmNvbSI+PC9hPgoKIyMgRmVhdHVy\nZXMKClJvdXRyJ3MgbWFpbiBmZWF0dXJlcyBhcmU6CgotIFt4XSBDb21tb24g\nU0lQIFNlcnZlciBmdW5jdGlvbnM7IFByb3h5LCBSZWdpc3RyYXIsIExvY2F0\naW9uIFNlcnZpY2UKLSBbeF0gUHJvZ3JhbW1hYmxlIHJvdXRpbmcKLSBbeF0g\nTG9hZCBiYWxhbmNpbmcgc3RyYXRlZ2llcyBhZ2FpbnN0IE1lZGlhIFNlcnZl\ncnMgbGlrZSBBc3RlcmlzayBhbmQgRnJlZVNXSVRDSAotIFt4XSBTZXNzaW9u\nIEFmZmluaXR5IAotIFt4XSBNdWx0aS1UZW5hbnQvTXVsdGktRG9tYWluIHdp\ndGggRG9tYWluIGxldmVsIEFjY2VzcyBDb250cm9sIExpc3QKLSBbIF0gUmVn\naW9uLWJhc2VkIHJvdXRpbmcKLSBbeF0gQ29uZmlndXJhYmxlIHJvdXRpbmcg\nc3RyYXRlZ2llczsgSW50cmEtRG9tYWluLCBEb21haW4gSW5ncmVzcywgRG9t\nYWluIEVncmVzcywgYW5kIFBlZXIgRWdyZXNzCi0gW3hdIE5vIHNpbmdsZSBw\nb2ludCBvZiBmYWlsdXJlCi0gW3hdIFRyYW5zcG9ydDogVENQLCBVRFAsIFRM\nUywgV1MsIFdTUwotIFt4XSBJbi1tZW1vcnkgYW5kIFJlZGlzIExvY2F0aW9u\nIFNlcnZpY2UgCi0gW3hdIEpTT04gYW5kIFlBTUwgZmlsZXMgYXMgYSBkYXRh\nIHNvdXJjZQotIFt4XSBQb3N0Z3JlcyBhcyBhIGRhdGEgc291cmNlCi0gW3hd\nIFNlcnZlciBtYW5hZ2VtZW50IHdpdGggdGhlIGdSUEMgQVBJCi0gW3hdIE5v\nZGVTREsKLSBbeF0gQ29tbWFuZC1MaW5lIFRvb2wKLSBbeF0gUlRQRW5naW5l\nIE1pZGRsZXdhcmUKLSBbeF0gSGVsbSBDaGFydCBmb3IgIEt1YmVybmV0ZXMg\nRGVwbG95bWVudHMKLSBbeF0gRW5kcG9pbnQgQXV0aGVudGljYXRpb24gd2l0\naCBKV1QgKEZvciB3ZWIgcGhvbmVzKQotIFsgXSBTdXBwb3J0IGZvciBTVElS\nL1NIQUtFTgotIFsgXSBXZWIgQXBwbGljYXRpb24KClRvIGxlYXJuIG1vcmUs\nIHJlYWQgdGhlIFtkb2N1bWVudGF0aW9uXShodHRwczovL3JvdXRyLmlvL2Rv\nY3MpIDpib29rczoKCiMjIFRoZSBvZmZpY2lhbCBoYW5kYm9vawoKPGEgaHJl\nZj0iaHR0cHM6Ly9mb25vc3Rlci5ndW1yb2FkLmNvbS9sL3RoZS1mdXR1cmUt\nb2YtcHJvZ3JhbW1hYmxlLXNpcC1zZXJ2ZXJzIj4KPGltZyBzcmM9Imh0dHBz\nOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9wc2FuZGVycy9wc2FuZGVy\ncy9tYXN0ZXIvYm9vay5wbmciIHdpZHRoPSIzMDBweCI+PC9hPgoKVGhpcyBo\nYW5kYm9vayBvZmZlcnMgYSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBv\nZiB0aGUgaW5ub3ZhdGl2ZSBmZWF0dXJlcywgY2hhbGxlbmdlcywgYW5kIG9w\ncG9ydHVuaXRpZXMgYXNzb2NpYXRlZCB3aXRoIHVzaW5nIFJvdXRyLgoKR2V0\nIHRoZSBlQm9vay4KCiogW1Byb2dyYW1tYWJsZSwgY2xvdWQtcmVhZHksIG9w\nZW4gc291cmNlXShodHRwczovL2Zvbm9zdGVyLmd1bXJvYWQuY29tL2wvdGhl\nLWZ1dHVyZS1vZi1wcm9ncmFtbWFibGUtc2lwLXNlcnZlcnMpCgojIyBHaXZl\nIGEgc3RhciEg4q2QCgpJZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoaXMgcHJv\namVjdCwgcGxlYXNlIGdpdmUgaXQgYSBzdGFyLiBUaGFua3Mg8J+ZjwoKIyMg\nRGVwbG95bWVudAoKIyMjIEluc3RhbnQgc2VydmVyIGRlcGxveW1lbnQgd2l0\naCBEb2NrZXIgYW5kIENvbXBvc2UKCkZpcnN0LCBjcmVhdGUgYSBkaXJlY3Rv\ncnkgbmFtZWQgInJvdXRyIi4gTmF2aWdhdGUgaW50byB0aGUgbmV3IGZvbGRl\nciwgYW5kIHRoZW4gY29weSB0aGUgY29udGVudCBiZWxvdzoKCkZpbGVuYW1l\nOiBfY29tcG9zZS55YW1sXwoKYGBgeWFtbAp2ZXJzaW9uOiAiMyIKCnNlcnZp\nY2VzOgogIHJvdXRyOgogICAgaW1hZ2U6IGZvbm9zdGVyL3JvdXRyLW9uZTps\nYXRlc3QKICAgIGVudmlyb25tZW50OgogICAgICBFWFRFUk5BTF9BRERSUzog\nJHtET0NLRVJfSE9TVF9BRERSRVNTfQogICAgcG9ydHM6CiAgICAgIC0gNTE5\nMDg6NTE5MDgKICAgICAgLSA1MDYwOjUwNjAvdWRwCiAgICB2b2x1bWVzOgog\nICAgICAtIHNoYXJlZDovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEKCnZvbHVt\nZXM6CiAgc2hhcmVkOgpgYGAKClRoZW4sIHN0YXJ0IHRoZSBzZXJ2ZXIgd2l0\naDoKCmBgYGJhc2gKIyBCZSBzdXJlIHRvIHJlcGxhY2Ugd2l0aCB5b3VyIElQ\nIGFkZHJlc3MKRE9DS0VSX0hPU1RfQUREUkVTUz0xOTIuMTY4LjEuMyBkb2Nr\nZXItY29tcG9zZSB1cApgYGAKCkFsdGVybmF0aXZlbHksIHlvdSBjYW4gdXNl\nIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCmBgYGJhc2gKIyBCZSBzdXJlIHRv\nIHJlcGxhY2Ugd2l0aCB5b3VyIElQIGFkZHJlc3MKZG9ja2VyIHJ1biBcCiAg\nLXAgNTE5MDg6NTE5MDggXAogIC1wIDUwNjA6NTA2MC91ZHAgXAogIC1lIEVY\nVEVSTkFMX0FERFJTPTE5Mi4xNjguMS4zIFwKICBmb25vc3Rlci9yb3V0ci1v\nbmU6bGF0ZXN0CmBgYAoKV2FpdCBhIGZldyBzZWNvbmRzIGZvciB0aGUgY29u\ndGFpbmVycyB0byBpbml0aWFsaXplLiBBZnRlcndhcmQsIHlvdSBjYW4gdmVy\naWZ5IHRoZSBzdGF0dXMgb2YgdGhlIGNvbnRhaW5lcnMgdXNpbmc6CgpgYGBi\nYXNoCmRvY2tlciBwcyAtYSAtLWZvcm1hdCAndGFibGUge3suSUR9fVx0e3su\nSW1hZ2V9fVx0e3suU3RhdHVzfX0nCmBgYAoKWW91IHNob3VsZCBzZWUgYSBj\nb250YWluZXIgd2l0aCB0aGUgc3RhdHVzICJVcC4iIEl0IHNob3VsZCBsb29r\nIGxpa2UgdGhlIG9uZSBiZWxvdzoKCmBgYGJhc2gKQ09OVEFJTkVSIElEICBJ\nTUFHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFU\nVVMKNmM2M2ZkNTczNzY4ICBmb25vc3Rlci9yb3V0ci1vbmU6bGF0ZXN0ICAg\nICAgICAgICAgICAgICBVcCBBYm91dCBhIG1pbnV0ZQpgYGAKCklmIHRoZSBz\ndGF0dXMgb2YgeW91ciBzZXJ2aWNlcyBpcyAiVXAsIiB5b3UgYXJlIHJlYWR5\nIHRvIGdvLgoKIyMjIEt1YmVybmV0ZXMKClJvdXRyIGNhbiBiZSBpbnN0YWxs\nZWQgaW4gS3ViZXJuZXRlcyB1c2luZyBIZWxtLiBUaGUgZm9sbG93aW5nIGlu\nc3RydWN0aW9ucyBhc3N1bWUgdGhhdCB5b3UgaGF2ZSBhIEt1YmVybmV0ZXMg\nY2x1c3RlciB1cCBhbmQgcnVubmluZy4gCgo+IFlvdSBjYW4gdXNlIE1pbmlr\ndWJlIG9yIERvY2tlciBEZXNrdG9wIHRvIGNyZWF0ZSBhIGxvY2FsIEt1YmVy\nbmV0ZXMgY2x1c3Rlci4KCkZpcnN0LCBhZGQgdGhlIEhlbG0gcmVwb3NpdG9y\neToKCmBgYGJhc2gKaGVsbSByZXBvIGFkZCByb3V0ciBodHRwczovL3JvdXRy\nLmlvL2NoYXJ0cwpoZWxtIHJlcG8gdXBkYXRlCmBgYAoKVGhlbiwgY3JlYXRl\nIGEgbmFtZXNwYWNlIGZvciBSb3V0cjoKCmBgYGJhc2gKa3ViZWN0bCBjcmVh\ndGUgbmFtZXNwYWNlIHJvdXRyCmBgYAoKTmV4dCwgaW5zdGFsbCBSb3V0ciB3\naXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCmBgYGJhc2gKaGVsbSBpbnN0\nYWxsIG15LXJlbGVhc2Ugcm91dHIvcm91dHItY29ubmVjdCAtLW5hbWVzcGFj\nZSByb3V0cgpgYGAKCkZpbmFsbHksIHdhaXQgYSBmZXcgbWludXRlcyBmb3Ig\ndGhlIHBvZHMgdG8gc3RhcnQuIFlvdSBjYW4gY2hlY2sgdGhlIHN0YXR1cyBv\nZiB0aGUgcG9kcyB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCmBgYGJh\nc2gKa3ViZWN0bCBnZXQgcG9kcyAtbiByb3V0cgpgYGAKCllvdSBzaG91bGQg\nc2VlIGEgbGlzdCBvZiBwb2RzIGFuZCB0aGVpciBzdGF0dXMuIElmIHRoZSBz\ndGF0dXMgaXMgUnVubmluZywgdGhlbiB5b3UgYXJlIHJlYWR5IHRvIGdvLgoK\nRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIHRoZSBjaGFydCdz\nIFtSRUFETUVdKGh0dHBzOi8vZ2l0aHViLmNvbS9mb25vc3Rlci9yb3V0ci9i\nbG9iL21haW4vb3BzL2NoYXJ0cy9jb25uZWN0L1JFQURNRS5tZCkuCgojIyMg\nRGV2ZWxvcG1lbnQgbW9kZSB3aXRoIEdpdHBvZAoKUm91dHIncyBvbmUtY2xp\nY2sgaW50ZXJhY3RpdmUgZGVwbG95bWVudCB3aWxsIGZhbWlsaWFyaXplIHlv\ndSB3aXRoIHRoZSBzZXJ2ZXIgaW4gZGV2ZWxvcG1lbnQgbW9kZS4KClshW09w\nZW4gaW4gR2l0cG9kXShodHRwczovL2dpdHBvZC5pby9idXR0b24vb3Blbi1p\nbi1naXRwb2Quc3ZnKV0oaHR0cHM6Ly9naXRwb2QuaW8vI2h0dHBzOi8vZ2l0\naHViLmNvbS9mb25vc3Rlci9yb3V0cikKClRvIGNvbm5lY3QgdG8geW91ciBp\nbnN0YW5jZSwgZm9sbG93IHRoZXNlIHN0ZXBzOgoKRmlyc3QsIGFkZCB5b3Vy\nIHB1YmxpYyBTU0gga2V5cyB0byB5b3VyIEdpdHBvZCBhY2NvdW50IGJ5IGdv\naW5nIHRvIFtHaXRwb2QgYWNjb3VudCBrZXlzXShodHRwczovL2dpdHBvZC5p\nby91c2VyL2tleXMpIGFuZCBhZGRpbmcgeW91ciBwdWJsaWMga2V5LgoKTmV4\ndCwgZmluZCB5b3VyIFtHaXRwb2Qgd29ya3NwYWNlXShodHRwczovL2dpdHBv\nZC5pby93b3Jrc3BhY2VzKSBhbmQgY2xpY2sgb24gdGhlICJNb3JlIiBidXR0\nb24uIFRoZW4sIHNlbGVjdCAiQ29ubmVjdCB2aWEgU1NILiIKCkZpbmFsbHks\nIGNvcHkgdGhlIFNTSCBDb21tYW5kIGFuZCBydW4gaXQgaW4geW91ciB0ZXJt\naW5hbCBieSBwYXN0aW5nIGl0IGFuZCBwcmVzc2luZyBFbnRlci4gVGhlIGNv\nbW1hbmQgc2hvdWxkIGxvb2sgbGlrZSB0aGlzOgoKYGBgYmFzaApzc2ggLUwg\nNTA2MDpsb2NhbGhvc3Q6NTA2MCA8d29ya3NwYWNlLXNzaC1jb25uZWN0aW9u\nPgpgYGAKClJlcGxhY2UgPHdvcmtzcGFjZS1zc2gtY29ubmVjdGlvbj4gd2l0\naCB5b3VyIG93biB3b3Jrc3BhY2UgU1NIIGNvbm5lY3Rpb24uCgpGb3IgZXhh\nbXBsZSwgeW91ciBjb21tYW5kIG1pZ2h0IGxvb2sgbGlrZSB0aGlzOgoKYGBg\nYmFzaApzc2ggLUwgNTA2MDpsb2NhbGhvc3Q6NTA2MCBmb25vc3Rlci1yb3V0\nci1tbjhuc3gwZDlweEBmb25vc3Rlci1yb3V0ci1tbjhuc3gwZDlweC5zc2gu\nd3MtdXM5MC5naXRwb2QuaW8KYGBgCgpUaGlzIGNvbW1hbmQgZm9yd2FyZHMg\ndHJhZmZpYyBmcm9tIHlvdXIgbG9jYWwgcG9ydCA1MDYwIHRvIHlvdXIgR2l0\ncG9kIHdvcmtzcGFjZSdzIHBvcnQgNTA2MCwgYWxsb3dpbmcgeW91IHRvIGFj\nY2VzcyB5b3VyIGluc3RhbmNlLgoKIyMgR2V0dGluZyBzdGFydGVkIHdpdGgg\ndGhlIENUTAoKUmVnYWRsZXMgb2YgdGhlIGRlcGxveW1lbnQgbWV0aG9kLCB5\nb3UgY2FuIHVzZSB0aGUgY29tbWFuZC1saW5lIHRvb2wgdG8gbWFuYWdlIHlv\ndXIgc2VydmVyLgoKVG8gaW5zdGFsbCB0aGUgY29tbWFuZC1saW5lIHRvb2ws\nIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CgpgYGBiYXNoCm5wbSBpbnN0\nYWxsIC0tbG9jYXRpb249Z2xvYmFsIEByb3V0ci9jdGwKYGBgCgpXZSBhcmUg\ndXNpbmcgdGhlIGZsYWcgYC0tbG9jYXRpb249Z2xvYmFsYCB0byB0ZWxsIG5w\nbSB0byBpbnN0YWxsIHRoZSBjb21tYW5kLWxpbmUgdG9vbCBnbG9iYWxseS4g\nSWYgeW91IGRvbid0IGhhdmUgbnBtIGluc3RhbGxlZCwgeW91IGNhbiBmb2xs\nb3cgdGhlIGluc3RydWN0aW9ucyBoZXJlOiBodHRwczovL25vZGVqcy5vcmcv\nZW4vZG93bmxvYWQvLgoKSGVyZSBpcyBhbiBleGFtcGxlIG9mIGhvdyB0byBj\ncmVhdGUgYSBkb21haW46CgpgYGBiYXNoCnJjdGwgZG9tYWlucyBjcmVhdGUg\nLS1pbnNlY3VyZQpgYGAKClRoZSBgLS1pbnNlY3VyZWAgZmxhZywgaW4gdGhl\nIGxhc3QgZXhhbXBsZSwgaXMgcmVxdWlyZWQgYmVjYXVzZSBubyBjZXJ0aWZp\nY2F0ZSB3YXMgcHJvdmlkZWQgdG8gc2VjdXJlIHRoZSBBUEkuIAoKRm9sbG93\nIHRoZSBwcm9tcHRzIHRvIGNyZWF0ZSB0aGUgZG9tYWluLgoKVGhlIG91dHB1\ndCBzaG91bGQgbG9vayBsaWtlIHRoaXM6CgpgYGBiYXNoClRoaXMgdXRpbGl0\neSB3aWxsIGhlbHAgeW91IGNyZWF0ZSBhIG5ldyBEb21haW4uClByZXNzIF5D\nIGF0IGFueSB0aW1lIHRvIHF1aXQuCj8gRnJpZW5kbHkgTmFtZSBMb2NhbCBE\nb21haW4KPyBTSVAgVVJJIHNpcC5sb2NhbAo/IElQIEFjY2VzcyBDb250cm9s\nIExpc3QgTm9uZQo/IFJlYWR5PyBZZXMKQ3JlYXRpbmcgRG9tYWluIExvY2Fs\nIERvbWFpbi4uLiBhMjdlOWZiMi1hNzFhLTRjZjMtOWIxZC1kY2NmMzczZjk3\nNzcKYGBgCgpGb3IgYWRkaXRpb25hbCBleGFtcGxlcywgcmVmZXIgdG8gdGhl\nIGNvbW1hbmQgbGluZSBbZG9jdW1lbnRhdGlvbi5dKGh0dHBzOi8vd3d3Lm5w\nbWpzLmNvbS9wYWNrYWdlL0Byb3V0ci9jdGwpCgojIyBGaXJzdCBzdGVwcyB3\naXRoIHRoZSBOb2RlU0RLCgpUbyBiZWdpbiB1c2luZyB0aGUgTm9kZS5qcyBT\nREssIGZpcnN0IG1ha2Ugc3VyZSB5b3UgaGF2ZSBOb2RlIGFuZCBOUE0gaW5z\ndGFsbGVkLiBUaGVuLCBzdGFydCBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0\nIGFuZCBpbnN0YWxsaW5nIHRoZSBSb3V0ciBDb25uZWN0IFNESy4KCmBgYGJh\nc2gKbWtkaXIgbXktcHJvamVjdApjZCBteS1wcm9qZWN0Cm5wbSBpbml0IC15\nCmBgYAoKTmV4dCwgaW5zdGFsbCB0aGUgU0RLOgoKYGBgYmFzaApucG0gaW5z\ndGFsbCAtLXNhdmUgQHJvdXRyL3NkawpgYGAKCk5vdywgY3JlYXRlIGEgbmV3\nIGZpbGUgY2FsbGVkIGBpbmRleC5qc2AgYW5kIGFkZCB0aGUgZm9sbG93aW5n\nIGNvZGU6CgpgYGBqYXZhc2NyaXB0CmNvbnN0IFNESyA9IHJlcXVpcmUoIkBy\nb3V0ci9zZGsiKTsKCmNvbnN0IGRvbWFpbnMgPSBuZXcgU0RLLkRvbWFpbnMo\nKTsKCmNvbnN0IHJlcXVlc3QgPSB7CiAgbmFtZTogIkxvY2FsIGRvbWFpbiIs\nCiAgZG9tYWluVXJpOiAic2lwLmxvY2FsIiwKICBhY2Nlc3NDb250cm9sTGlz\ndFJlZjogIjQ2NzEzNzFiLWZmNWQtNDhiMS1hYWJlLWQzYzVjYTUzMTdhMyIs\nIAogIGVncmVzc1BvbGljaWVzOiBbewogICAgcnVsZTogIi4qIiwKICAgIG51\nbWJlclJlZjogIjQ2NzEzNzFiLWZmNWQtNDhiMS1hYWJlLWQzYzVjYTUzMTdh\nMyIKICB9XSwKICBleHRlbmRlZDogewogICAgImtleSI6ICJ2YWx1ZSIKICB9\nIAp9OwoKZG9tYWlucy5jcmVhdGVEb21haW4ocmVxdWVzdCkgCiAgLnRoZW4o\nY29uc29sZS5sb2cpCiAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpOyAvLyBhbiBl\ncnJvciBvY2N1cnJlZApgYGAKCj4gSW4gdGhlIGV4YW1wbGUgYWJvdmUsIHdl\nIGFzc3VtZSB0aGF0IHRoZSBBQ0wgYW5kIE51bWJlciBhbHJlYWR5IGV4aXN0\nLgoKTm93LCBnbyBhaGVhZCBhbmQgcnVuIHRoZSBjb2RlOgoKYGBgYmFzaApu\nb2RlIGluZGV4LmpzCmBgYAoKRm9yIGNvbXBsZXRlIGRvY3VtZW50YXRpb24s\nIHBsZWFzZSB2aXNpdCB0aGUgbnBtIHBhZ2UgZm9yIGBAcm91dHIvc2RrYCBh\ndCBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9Acm91dHIvc2RrCgoj\nIyBCdWlsZGluZyBjdXN0b20gUHJvY2Vzc29ycyBhbmQgTWlkZGxld2FyZQoK\nT25lIG9mIFJvdXRyJ3MgbW9zdCBzaWduaWZpY2FudCBhZHZhbnRhZ2VzIGlz\nIHRoYXQgaXQgaXMgaGlnaGx5IGV4dGVuc2libGUuIEl0IGVuYWJsZXMgeW91\nIHRvIGNyZWF0ZSBuZXcgUHJvY2Vzc29ycyBhbmQgTWlkZGxld2FyZSB0byBl\neHRlbmQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgeW91ciBzZXJ2ZXIuCgpQcm9j\nZXNzb3JzIGFuZCBNaWRkbGV3YXJlIHNlcnZpY2VzIGFyZSByZXNwb25zaWJs\nZSBmb3IgbW9kaWZ5aW5nIHRoZSBTSVAgbWVzc2FnZXMgYXMgdGhleSBwYXNz\nIHRocm91Z2ggdGhlIHNlcnZlci4gSG93ZXZlciwgd2hpbGUgYm90aCBzaGFy\nZSB0aGUgc2FtZSBpbnRlcmZhY2UsIHRoZXkgc2VydmUgZGlmZmVyZW50IHB1\ncnBvc2VzLgoKUHJvY2Vzc29ycyBob2xkIGZlYXR1cmUgbG9naWM7IE1pZGRs\nZXdhcmVzIGFkZHJlc3NlcyBjcm9zcy1jdXR0aW5nIGNvbmNlcm5zIGxpa2Ug\nYXV0aGVudGljYXRpb24sIGF1dGhvcml6YXRpb24sIHJhdGUgbGltaXRpbmcs\nIGV0Yy4KClRoZSBzaW1wbGVzdCBwb3NzaWJsZSBQcm9jZXNzb3IgbG9va3Mg\nbGlrZSB0aGlzOgoKYGBgamF2YXNjcmlwdApjb25zdCBQcm9jZXNzb3IgPSBy\nZXF1aXJlKCJAcm91dHIvcHJvY2Vzc29yIikuZGVmYXVsdApjb25zdCB7IE1l\nc3NhZ2VSZXF1ZXN0LCBSZXNwb25zZSB9ID0gcmVxdWlyZSgiQHJvdXRyL3By\nb2Nlc3NvciIpCgpuZXcgUHJvY2Vzc29yKHsgYmluZEFkZHI6ICIwLjAuMC4w\nOjUxOTA0IiwgbmFtZTogImVjaG8iIH0pLmxpc3RlbigKICAocmVxOiBNZXNz\nYWdlUmVxdWVzdCwgcmVzOiBSZXNwb25zZSkgPT4gewogICAgY29uc29sZS5s\nb2coImdvdCBuZXcgcmVxdWVzdDogIikKICAgIGNvbnNvbGUubG9nKEpTT04u\nc3RyaW5naWZ5KHJlcSwgbnVsbCwgIiAiKSkKICAgIHJlcy5zZW5kT2soKQog\nIH0KKQpgYGAKClRoZSBwcmV2aW91cyBleGFtcGxlIGlzIGZvciBhIFByb2Nl\nc3NvciB0aGF0IHdhaXRzIGZvciBhIFNJUCBtZXNzYWdlIGFuZCB0aGVuIHNl\nbmRzIGEgMjAwIE9LIHJlc3BvbnNlLiBZb3UgY2FuIGZpbmQgdGhlIGNvbXBs\nZXRlIGNvZGUgW2hlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9mb25vc3Rlci9y\nb3V0ci90cmVlL21haW4vbW9kcy9lY2hvKS4KCkluIGFkZGl0aW9uIHRvIHRo\nZSBwcmV2aW91cyBleGFtcGxlLCB5b3UgY2FuIGNoZWNrIHRoZSBmb2xsb3dp\nbmcgbW9kdWxlczoKCi0gW1JUUFJlbGF5IE1pZGRsZXdhcmVdKGh0dHBzOi8v\nZ2l0aHViLmNvbS9mb25vc3Rlci9yb3V0ci90cmVlL21haW4vbW9kcy9ydHBy\nZWxheSkKLSBbU2ltcGxlIEF1dGggTWlkZGxld2FyZV0oaHR0cHM6Ly9naXRo\ndWIuY29tL2Zvbm9zdGVyL3JvdXRyL3RyZWUvbWFpbi9tb2RzL3NpbXBsZWF1\ndGgpCi0gW1Byb2Nlc3NvciBUZW1wbGF0ZV0oaHR0cHM6Ly9naXRodWIuY29t\nL2Zvbm9zdGVyL25vZGVqcy1wcm9jZXNzb3IvdHJlZS9tYWluKQotIFtDb25u\nZWN0IFByb2Nlc3Nvcl0oaHR0cHM6Ly9naXRodWIuY29tL2Zvbm9zdGVyL3Jv\ndXRyL3RyZWUvbWFpbi9tb2RzL2Nvbm5lY3QpCgpGb3IgbW9yZSBpbmZvcm1h\ndGlvbiBhYm91dCBidWlsZGluZyBQcm9jZXNzb3JzIGFuZCBNaWRkbGV3YXJl\nLCBwbGVhc2UgcmVmZXIgdG8gdGhlIFtkb2N1bWVudGF0aW9uLl0oaHR0cHM6\nLy9yb3V0ci5pby9kb2NzKQoKIyMgQnVncyBhbmQgZmVlZGJhY2sKCkZvciBi\ndWdzLCBxdWVzdGlvbnMsIGFuZCBkaXNjdXNzaW9ucywgcGxlYXNlIHVzZSB0\naGUgW0dpdGh1YiBJc3N1ZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9mb25vc3Rl\nci9yb3V0ci9pc3N1ZXMpCgojIyBDb250cmlidXRpbmcKCkZvciBjb250cmli\ndXRpbmcsIHBsZWFzZSBzZWUgdGhlIGZvbGxvd2luZyBsaW5rczoKCiAtIFtD\nb250cmlidXRpb24gRG9jdW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vZm9u\nb3N0ZXIvcm91dHIvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kKQogLSBb\nQ29udHJpYnV0b3JzXShodHRwczovL2dpdGh1Yi5jb20vZm9ub3N0ZXIvcm91\ndHIvY29udHJpYnV0b3JzKQoKPCEtLWNvbnRyaWJ1dG9yczpzdGFydC0tPgoK\nPHRhYmxlPgo8dHI+CiAgICA8dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9Indv\ncmQtd3JhcDogYnJlYWstd29yZDsgd2lkdGg6IDE1MC4wOyBoZWlnaHQ6IDE1\nMC4wIj4KICAgICAgICA8YSBocmVmPWh0dHBzOi8vZ2l0aHViLmNvbS9wc2Fu\nZGVycz4KICAgICAgICAgICAgPGltZyBzcmM9aHR0cHM6Ly9hdmF0YXJzLmdp\ndGh1YnVzZXJjb250ZW50LmNvbS91LzUzOTc3ND92PTQgd2lkdGg9IjEwMDsi\nICBzdHlsZT0iYm9yZGVyLXJhZGl1czo1MCU7YWxpZ24taXRlbXM6Y2VudGVy\nO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3BhZGRp\nbmctdG9wOjEwcHgiIGFsdD1QZWRybyBTYW5kZXJzLz4KICAgICAgICAgICAg\nPGJyIC8+CiAgICAgICAgICAgIDxzdWIgc3R5bGU9ImZvbnQtc2l6ZToxNHB4\nIj48Yj5QZWRybyBTYW5kZXJzPC9iPjwvc3ViPgogICAgICAgIDwvYT4KICAg\nIDwvdGQ+CiAgICA8dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9IndvcmQtd3Jh\ncDogYnJlYWstd29yZDsgd2lkdGg6IDE1MC4wOyBoZWlnaHQ6IDE1MC4wIj4K\nICAgICAgICA8YSBocmVmPWh0dHBzOi8vZ2l0aHViLmNvbS9lZnJhYT4KICAg\nICAgICAgICAgPGltZyBzcmM9aHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJj\nb250ZW50LmNvbS91LzQwNjQ2NTM3P3Y9NCB3aWR0aD0iMTAwOyIgIHN0eWxl\nPSJib3JkZXItcmFkaXVzOjUwJTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlm\neS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6\nMTBweCIgYWx0PUVmcmFpbiBQZXJhbHRhLz4KICAgICAgICAgICAgPGJyIC8+\nCiAgICAgICAgICAgIDxzdWIgc3R5bGU9ImZvbnQtc2l6ZToxNHB4Ij48Yj5F\nZnJhaW4gUGVyYWx0YTwvYj48L3N1Yj4KICAgICAgICA8L2E+CiAgICA8L3Rk\nPgogICAgPHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3b3JkLXdyYXA6IGJy\nZWFrLXdvcmQ7IHdpZHRoOiAxNTAuMDsgaGVpZ2h0OiAxNTAuMCI+CiAgICAg\nICAgPGEgaHJlZj1odHRwczovL2dpdGh1Yi5jb20vdml0YWx5c3Rlcj4KICAg\nICAgICAgICAgPGltZyBzcmM9aHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJj\nb250ZW50LmNvbS91LzEwNTI0MDc/dj00IHdpZHRoPSIxMDA7IiAgc3R5bGU9\nImJvcmRlci1yYWRpdXM6NTAlO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5\nLWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDox\nMHB4IiBhbHQ9dml0YWx5c3Rlci8+CiAgICAgICAgICAgIDxiciAvPgogICAg\nICAgICAgICA8c3ViIHN0eWxlPSJmb250LXNpemU6MTRweCI+PGI+dml0YWx5\nc3RlcjwvYj48L3N1Yj4KICAgICAgICA8L2E+CiAgICA8L3RkPgogICAgPHRk\nIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7\nIHdpZHRoOiAxNTAuMDsgaGVpZ2h0OiAxNTAuMCI+CiAgICAgICAgPGEgaHJl\nZj1odHRwczovL2dpdGh1Yi5jb20vSGFubmFyb25nOTg+CiAgICAgICAgICAg\nIDxpbWcgc3JjPWh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5j\nb20vdS80MjM1ODg2ND92PTQgd2lkdGg9IjEwMDsiICBzdHlsZT0iYm9yZGVy\nLXJhZGl1czo1MCU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVu\ndDpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjEwcHgiIGFs\ndD1IYW5uYXJvbmcvPgogICAgICAgICAgICA8YnIgLz4KICAgICAgICAgICAg\nPHN1YiBzdHlsZT0iZm9udC1zaXplOjE0cHgiPjxiPkhhbm5hcm9uZzwvYj48\nL3N1Yj4KICAgICAgICA8L2E+CiAgICA8L3RkPgogICAgPHRkIGFsaWduPSJj\nZW50ZXIiIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdpZHRoOiAx\nNTAuMDsgaGVpZ2h0OiAxNTAuMCI+CiAgICAgICAgPGEgaHJlZj1odHRwczov\nL2dpdGh1Yi5jb20vcmFmYXNjPgogICAgICAgICAgICA8aW1nIHNyYz1odHRw\nczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTkyMzc4OT92\nPTQgd2lkdGg9IjEwMDsiICBzdHlsZT0iYm9yZGVyLXJhZGl1czo1MCU7YWxp\nZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZs\nb3c6aGlkZGVuO3BhZGRpbmctdG9wOjEwcHgiIGFsdD1yYWZhc2MvPgogICAg\nICAgICAgICA8YnIgLz4KICAgICAgICAgICAgPHN1YiBzdHlsZT0iZm9udC1z\naXplOjE0cHgiPjxiPnJhZmFzYzwvYj48L3N1Yj4KICAgICAgICA8L2E+CiAg\nICA8L3RkPgogICAgPHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3b3JkLXdy\nYXA6IGJyZWFrLXdvcmQ7IHdpZHRoOiAxNTAuMDsgaGVpZ2h0OiAxNTAuMCI+\nCiAgICAgICAgPGEgaHJlZj1odHRwczovL2dpdGh1Yi5jb20va2FuaW1hcnU+\nCiAgICAgICAgICAgIDxpbWcgc3JjPWh0dHBzOi8vYXZhdGFycy5naXRodWJ1\nc2VyY29udGVudC5jb20vdS8xNzMzNjk3P3Y9NCB3aWR0aD0iMTAwOyIgIHN0\neWxlPSJib3JkZXItcmFkaXVzOjUwJTthbGlnbi1pdGVtczpjZW50ZXI7anVz\ndGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10\nb3A6MTBweCIgYWx0PUthbmkvPgogICAgICAgICAgICA8YnIgLz4KICAgICAg\nICAgICAgPHN1YiBzdHlsZT0iZm9udC1zaXplOjE0cHgiPjxiPkthbmk8L2I+\nPC9zdWI+CiAgICAgICAgPC9hPgogICAgPC90ZD4KPC90cj4KPHRyPgogICAg\nPHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdv\ncmQ7IHdpZHRoOiAxNTAuMDsgaGVpZ2h0OiAxNTAuMCI+CiAgICAgICAgPGEg\naHJlZj1odHRwczovL2dpdGh1Yi5jb20vU2VtaUNvbnNjaW91cz4KICAgICAg\nICAgICAgPGltZyBzcmM9aHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250\nZW50LmNvbS91LzE3NTQ5NDI/dj00IHdpZHRoPSIxMDA7IiAgc3R5bGU9ImJv\ncmRlci1yYWRpdXM6NTAlO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNv\nbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4\nIiBhbHQ9U2VtaUNvbnNjaW91cy8+CiAgICAgICAgICAgIDxiciAvPgogICAg\nICAgICAgICA8c3ViIHN0eWxlPSJmb250LXNpemU6MTRweCI+PGI+U2VtaUNv\nbnNjaW91czwvYj48L3N1Yj4KICAgICAgICA8L2E+CiAgICA8L3RkPgogICAg\nPHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdv\ncmQ7IHdpZHRoOiAxNTAuMDsgaGVpZ2h0OiAxNTAuMCI+CiAgICAgICAgPGEg\naHJlZj1odHRwczovL2dpdGh1Yi5jb20vQlJPV1QxOTA+CiAgICAgICAgICAg\nIDxpbWcgc3JjPWh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5j\nb20vdS8xNDE3NjY2ODA/dj00IHdpZHRoPSIxMDA7IiAgc3R5bGU9ImJvcmRl\nci1yYWRpdXM6NTAlO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRl\nbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4IiBh\nbHQ9VGltbXkvPgogICAgICAgICAgICA8YnIgLz4KICAgICAgICAgICAgPHN1\nYiBzdHlsZT0iZm9udC1zaXplOjE0cHgiPjxiPlRpbW15PC9iPjwvc3ViPgog\nICAgICAgIDwvYT4KICAgIDwvdGQ+CiAgICA8dGQgYWxpZ249ImNlbnRlciIg\nc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgd2lkdGg6IDE1MC4wOyBo\nZWlnaHQ6IDE1MC4wIj4KICAgICAgICA8YSBocmVmPWh0dHBzOi8vZ2l0aHVi\nLmNvbS9sdXpwYXo+CiAgICAgICAgICAgIDxpbWcgc3JjPWh0dHBzOi8vYXZh\ndGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MTQwMjQ3P3Y9NCB3aWR0\naD0iMTAwOyIgIHN0eWxlPSJib3JkZXItcmFkaXVzOjUwJTthbGlnbi1pdGVt\nczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRk\nZW47cGFkZGluZy10b3A6MTBweCIgYWx0PWx1enBhei8+CiAgICAgICAgICAg\nIDxiciAvPgogICAgICAgICAgICA8c3ViIHN0eWxlPSJmb250LXNpemU6MTRw\neCI+PGI+bHV6cGF6PC9iPjwvc3ViPgogICAgICAgIDwvYT4KICAgIDwvdGQ+\nCjwvdHI+CjwvdGFibGU+CgojIyBTcG9uc29ycwoKV2UncmUgZ2xhZCB0byBi\nZSBzdXBwb3J0ZWQgYnkgcmVzcGVjdGVkIGNvbXBhbmllcyBhbmQgaW5kaXZp\nZHVhbHMgZnJvbSBzZXZlcmFsIGluZHVzdHJpZXMuCgpGaW5kIGFsbCBvdXIg\nc3VwcG9ydGVycyBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL3Nwb25zb3Jz\nL2Zvbm9zdGVyKQoKPiBbQmVjb21lIGEgR2l0aHViIFNwb25zb3JdKGh0dHBz\nOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9mb25vc3RlcikKCiMjIEF1dGhvcnMK\nCiAtIFtQZWRybyBTYW5kZXJzXShodHRwczovL2dpdGh1Yi5jb20vcHNhbmRl\ncnMpCgojIyBMaWNlbnNlCgpDb3B5cmlnaHQgKEMpIDIwMjQgYnkgW0Zvbm9z\ndGVyIEluY10oaHR0cHM6Ly9mb25vc3Rlci5jb20pLiBNSVQgTGljZW5zZSAo\nc2VlIFtMSUNFTlNFXShodHRwczovL2dpdGh1Yi5jb20vZm9ub3N0ZXIvZm9u\nb3N0ZXIvYmxvYi9tYXN0ZXIvTElDRU5TRSkgZm9yIGRldGFpbHMpLgo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/fonoster/routr/contents/README.md?ref=main","git":"https://api.github.com/repos/fonoster/routr/git/blobs/4e9bcdfa9a3a36a0689a8ffc0d42a95759983f49","html":"https://github.com/fonoster/routr/blob/main/README.md"}}