Merge pull request #153 from netfoundry/sdk.env.info.simple.store

adds env/sdk info on auth, to identities, fixes #126
This commit is contained in:
Andrew
2020-05-12 15:40:55 -04:00
committed by GitHub
12 changed files with 417 additions and 130 deletions
+78 -78
View File
@@ -7,82 +7,82 @@ import "github.com/gobuffalo/packr"
// You can use the "packr clean" command to clean up this,
// and any other packr generated files.
func init() {
packr.PackJSONBytes("../embedded", "README.md", "\"H4sIAAAAAAAA/3RTPXPUPBDu9SueuSp5J2f3Kd4iQwEMQ4qEoV5La1ucLB2rVZLLr2ckO3cMhMaFpN3n04+zzzhK+sFWUTJnHOkguJpVj/m27yevcxk6m5Z+SkMZRwqpP5I9yDU0gZeBHXRmfH64/2qynXkhjD4wnr3OPrY74VyC+jhh8JHEc+7wPcmhntRn9VHmNpYh/LN44WzqpI9ZKQRSnyLS2LY1gkV98HqCTctC0XXG7DElTKzYF/yb9fo15nFmcFQvfAN2E/dNiWMH54WtJjkhqxSrRRg+43zvo6bGw6aokkJgMU3WCcMJjkcqQTtjzGMCx1zHdSZFTOAXFUJWPmaQMCJz3TgmAdV1uSwsq0yfkVMRW2Ec35jdXfHBVcMIdyvaVSUxkzg80+l6B8pwyZaFozaam1n2IOfz5qPxuSbtOrTwF6aYV4p1gIrOqZGgeNoi2Xa945FZSlZI+R3sj2hAo7KAgrL4OPXkqoxeeElPVU+D6Jpd7+65QaQnP5EyNuP7V6/+XFpJSVFx+IVtUb415v/aszVp7F+N+aTIcyrBIVtaITZz65xwfXmR22H3374Nd1PabRY8+xAwsJk4spCu7l1K+/Dx/tuXDxgYdmZ7eKvJhnJFE9UmX8QZ4WoPR9ciyddbGBQCP3lSzuc+ZIySFszU3NL09k+s3Es0fznW/QoAAP//sGY+ydUDAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/definitions.all.json", "\"H4sIAAAAAAAA/+xXTW/bPAy+91cIenPMZ9+6GHLrccCADNix6ADFoh0VsuRJNNasyH8fpDW1ZDuNUzjdYTkUhUmRfEg+lJjnK0LoSHC6JHSDWC5ns18CxQR4DlMFmOlKcbOdCj2z6QYKZmccMqEECq3slEk5fbRa0bHzE2jokjjXhFBkef3lvrcluGh6/QgpekMvZ5x7Uya/Gl2CQQHOLmPSwuuhkiGCUdGJvWdC6Pfp82KczHejSOycq+0qo0tyHwhJdCTCpiopaaTcjftZWjRC5XTc1BdCfQGV44YuyaKtZU+v2uv5zad3hVZVsQbzV0KvtZbAVKNkwdfDVVP65/9LAE+Sia96myl1z5qcIXGnHi5cunCJ0FSrTOQTzpBd7p1/kStHjEcGXEto1zv2X/i6zUImDUHHyw3XsLywtrfxB7NWsQK6bs9Gx6JyXdfSsEzJbctzj0FoUePAIJwOwC+7RxPLtCkYOk1VCd6d8KJnvAHTHRSWRXNqj0/xfaYu94PAjGHbVfaZd/748No6Qw4Zq6Qr630dUyAUjRtzP4TxwAlOO2eohtCjEjGig4U4O9IDnBi4YD7MW1C+eWJ8fN0aM9AJsWTW/tSm1zUSEjfpJO5iPu/0fqbp6QeismDe8wTcnOT9TCn2A2GhYApFOkx8UFURW95JucpCwzu/VdUC52jvJ0KGYAqhGGozSbXFEGB7M4sWt32LhELIG9uNK5EoPMp5LGdPL/LbJPk/qReD8dtB4rVvdyyV0kAKHFTaRapBKr6f8cDUwI9KGOChLGNCRpJ2I67c3+53AAAA//91BMQbHBMAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/association.patch.json", "\"H4sIAAAAAAAA/0yOsU4EMQxE+3yFFSgh6fcPqKBHFCZxWJ+WJNjeYjndv6PkhO6KFJkZz7yzA/CPnP0CfjXrS4y/bPxM+YtCJSttr1mOwC1qWukbNaJqS4zGrYaOltZw0lb902iyo9Ooap8nSnbVMGceYdzepHUSY1K/gMlO0xf62VloILw7AADPWb0D+Jh2vz863wL/n8EvVMZqpsJ1bmnAbZtcD/FOjSiCx2t5uQ4AXNx4F/cXAAD//6bt+FMHAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/association.post.json", "\"H4sIAAAAAAAA/0yOsVLEMAxEe3+FxlCC3ecPqKBnKESscLoJlpGUItzcvzP2DXMpXHh3tfsuASA+cokTxJN7m3L+ZednKl+UKvkiWy26J5Zs84m+0TKayczoLDU1MU9nkxqfepHvjXqTfJ5p9puGpXDP4vqm0kidyeIErhsNX+lnY6VO8B4AACIXiwHgY9jteHS5B/4/HV9p6auFFq5jyxKu6+B6yAc1oyrur8vLbQDgGvq7hr8AAAD//+MJlewGAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/association.put.json", "\"H4sIAAAAAAAA/0yOsU4EMQxE+3yFFSgh6fcPqKBHFGbjcD4tSbCdYjndv6PkhG6LFJkZz7yLA/CPnPwC/mTWlhh/2fiZ0heFQpZrL0n2wDXqeqJv1IiqdWU0riW0buGstfin0WN7o1FUP8+02k3DlHhEcXuT2kiMSf0CJp2mL/TTWWgAvDsAAM9JvQP4mHY7Hl3ugf/PoBfKYzVR5jK3NOC2Ta6HeFAjiuD+ml9uAwBXN97V/QUAAP//YSC09AUBAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator-self.patch.json", "\"H4sIAAAAAAAA/8ySMU/DMBCF9/yKk2Fskz1/gu6owxFfGlfuOZzPqkrV/44c2mAyAAIGlkR6fn7v7pPPFYC5d9a0YAbVsW2aF6duTXZHNZP2IbGVU+1CE7uBDhgbTDoQq+tQg6wj+b4eUbuh3sfAZpUDkU8PvWnhsQIAOE9fAKOnkXJReNpTp5N10tFapy4w+o2EkUQdRdOCSqLZM5Ynt0QA05Hohg4fxKIqqjjemfnosnq/qriLy3uWekxes1xYMyOhvFE2OJ6mjTV6Py191xRqk2PXnLwvWqvyfw3+EyxCz8kJ2Rn2G5QkQqwbjPEYxN4G2X5JM0USxgMtsXx/+1vCkkDBnek4T/bjnvGa8EnPksKvu/7ZM6oAttXlNQAA//9IbSvwwgMAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator-self.put.json", "\"H4sIAAAAAAAA/8RSQW7CMBC85xUrt0dI7vlEuVcc3HgDRmbtrtdCFPH3yhZy3bQHVAn1kkizszM7k1w6APVsjRpB7UXCOAwfVuwazQ57Qpl9IsPn3vohTns86jjoJHsksZMWz+uIbu5Dkv4QPalVltN0fpnVCK8dAMClPAGUnANmG/92wEkKteDaGCvWk3Yb9gFZLEY1gnDCymF8T5bRVNWCTsiywaO6IdtKD63Q5edCCzaXRWFLO1VH19XXquhdXO4ZnHVykuGGmgtlzAVkgqUSLvbaudLR09CgQ5ZdU3Kuce3a9034gS2miEz6iKpJS3ja6BhPnk0LT4kZSero7uKrx6LB+4uqCr9+nfbeP1uERazvFsvsD7L5t/+sA9h2188AAAD//ydDzrAQBAAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.patch.json", "\"H4sIAAAAAAAA/8yRwU7EIBCG732KCXrcLfe+hHs3HsYybdlQIMwQUzf77gaiFTcejImJF0j++ecb/uHSAah7a9QAahGJg9avVuyRzEy9J5lC9iZtvQ2ax4VWZI1ZFvJiR5SQ+ogyLv2Zg1eHwkK/PUxqgMcOAOBSTwAlW6QyIzyfaZRqrToaY8UGj+6UQqQkllgNICnT7olt5YMIoEZKcqL1i9iMYknWz2ovXQ+frYIz3/YZmjA7KXJjLetJVBIVg/X1tdyjczX0nW5UXbBHn51rpnbt/Q7+07VkpuRxpdt8P4+xE77dXUTml5DM7/k74X/9TQfw1F3fAgAA//+PKpHSEgMAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.post.json", "\"H4sIAAAAAAAA/9ySwWrDMAxA7/kK4fXYJvf8wU7rvfTgRmqjktieLTOy0n8fDsXz1sCghzF2SczDepIsXSoAtWJULahexLVN887CG8IT1YbkaKNBP9Vsm9D1NOrQ6Cg9GeFOi/W1s0Hqc7BGrZNKm+nlqFrYVQAAl/kLoGRylFLYw5k6ma/OXCOysDV62HrryAtTUC2Ij5TveHqN7AmzdaYjSW8xmwBUR162NJaIMRUq0zOqG9xnrSsTXu7EJftsYFcwABXEszmpAu7XZRSZON5HpUK/xOTzdaGd5ULuUl+X2/4WvfKUpqOQjmzmlw+1HoZ5gE9NQRvGZbfoU3jcmqI3Jg5DIa/K/y3Vry5ODOSNHqlkTofwZj3+/W2KDg8/b1Pu8eHRZcOiP7/Xw/5s+HcrXaWhXD8CAAD//53xhi5qBQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.put.json", "\"H4sIAAAAAAAA/8yRwW7rIBBF9/6KEe8tE7P3TzT7KgtqJjYRBjoMqlwr/16BIorcLqJKlbqxpes7B+Z46wDEf6PFAGJmDoOU74bNEfWEvUO++OQ0rb3xMo4zLipKlXhGx2ZU7KkPiftr9E4cMkm59ekiBnjuAAC28gQQvAbMJ/iXK45cqiVXWhs23il7Ih+Q2GAUAzAlrB3C12QIdaWWdETiEy7inpxrPbSg7etAGzY3i0zGTaJ+uh0+R1lNcT+n8aKS5Rw31eySMAvIBePKcrFX1hZH/2STyow9umRtc2rXvu/gX7SYIpJTC4pm26BifPOkH1dbKTtHj6uohG/91xv9mL/f6Y/83w7g3N0+AgAA///AJmJBgwMAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/ca.patch.json", "\"H4sIAAAAAAAA/7SRMU/DMBCF9/yKk2FM4z1bhToXwYgYLvElceWcI/s8BNT/jpxEECEWKnXwcM963zv7fRYA6tEaVYMaRKZa6w8r9kCmp4pJOp/YhLmyXsd2oBGjbjFWE0o7VJfoWZWZIPNEGeGbC7WyamiMFesZ3XPwEwWxFFUNEhIt99NezXsAKMaRvqe8WaAucw11lhdarNC5JflB71SdnQdOzqnFey1XoI3HJP4JTxy8cyOxnBgbR2afsm3/ts0AqvHeEa6P26QfNsD7r4yzyL0jjkmGO3ANsViZX7zb1QDLh2NyomrI5vL/fWAIOJ+7VwmW+z+KEezjbU1n5x5Y5HMtvgIAAP//GHdsdsoCAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/ca.post.json", "\"H4sIAAAAAAAA/7SSQU/jMBCF7/kVI+8e26S74oByq1BvSK3giDhM40niyhkHeyIRqv53ZENpWk4gOOSQZ7/vzeh5nwGov0arElQr0pdF8WLEzEk3lDNJ7QbWfsyNK0LVUoehqDDkvQuS74JjNYsAGXuKBLfdUSVvGmptxDhGu/GuJy+GgipB/EDp3NPTYDzF5IcMAEAxdpS8AKoiLxvqVAbwmK73U8h+Yjj+xT081XEMTbXhFB5ytDYN+qeYqEVyJtvhInCCO24VxBtu3icDUJ3hW+JGWlXCv5OKzx/q/8XV9eIMb8JyEHeDK/bO2o5YVoxbm9b/FLh1zhLyKVFTjYMVVUKNNtAFeS3yO+DlIO2P0TSxGBnvnJ1UeGbiwdrZ17tE73Fc1/eppXmEnDcr2ITvvZLonAKz+B2y1wAAAP//IukB9TQDAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/ca.put.json", "\"H4sIAAAAAAAA/6RSsW7rMAzc/RWC3hsTe/cWFJlTtGPRgYnohAFNuRI1uEH+vZBSo06BtmgzCJBI3fHupFNljP1PzrbGHlSHtmleSWmJbo+1oHY+iQtjTb6JuwP2EJsdxHpIWh+jF7vIeB0HzAR+e8SdXmrgHCl5Ab4PfsCghNG2RkPC0g/4kihgHvxUGWOMFeixYDMj7OO0p7hK6u9gLcEz9yi6Ftgyuo8LG9Vv+6ukh6lYGfNcFAxzXaeZhumUkwnYZWcOO5LiJ9bAXLz/a2bVpiAL7Pyj7tmAKbqt94wg75JNmQiJ1bamA474ifkLw7cTz5O6mc2hKOn44HmW8RVIEvPi92FDCDBuukcNJPtlJrmOvnyfPz1jQV64qrzO1VsAAAD//5gA2H8iAwAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.patch.json", "\"H4sIAAAAAAAA/5SPsXLEIAxEe3+FhqS0Te+vSH+TghjZ1g0HBERxufG/Z4Q9Oa5MQcFK2n376ADUO1k1gdqY46T1DzENaFccPfISirfpPlLQed7wZrKeg19oHfgecYyG52285uBVL04iilX4uuLMh2asJabgjftIIWJiwqwm4FSwzhN+F0ooCJcO4LOKsV0VSADlzQ3/foKdcJEwiwv5GpFH41zFedONquVy8MU5VW/3/jA8GrWWJ//l/MNLk1N5+pywVbW4mOJYTSDzlxg2a25DnquPvf9/GbFry3Ty9t8AAAD//y7GrWTJAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.post.json", "\"H4sIAAAAAAAA/5SPvXLDIBCEez3FDUkpiV5Pkd7jgoiTfB4MBI7C0ejdM6efMS5TUNze8e3u0gCoT7JqAHVjjoPWv8TUoZ2x98hTKN6mZ09B5/GGD5P1GPxEc8fPiH0Mmft7Dl61AhJNSOH7jiPvmrGWmII37iuFiIkJsxqAU8Ftn/CnUEJJcGkAAJQ3D1QNwHXbx/rXUl2ckxRIOImvxYn85pZ749yW7ENXqj7ZAGu7s/ZaNe1ocTlmeOtzKL44p47xeurib4pjNYDs32zYzLk2eZ0ua/v/HoLrXiHWRt76FwAA//9p/q+szgEAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.put.json", "\"H4sIAAAAAAAA/5SPvXLDIBCEez3FDUkpiV5Pkd7jgoiTfB4MBI7C0ejdM6efMS5TUNze8e3u0gCoT7JqAHVjjoPWv8TUoZ2x98hTKN6mZ09B5/GGD5P1GPxEc8fPiH0s3N9z8KoVjkgCCt93HHnXjLXEFLxxXylETEyY1QCcCm77hD+FEkqASwMAoLx5oGoArts+1r+W6uKcJH/CSXwtTuQ3t9wb57ZkH7pS9ckGWNudtbeqaUeLyzHDW59D8cU5dYzXUxd/UxyrAWT/ZsNmzrXJ63RZ2//3EFz3CrE28ta/AAAA//8hRJxWzQEAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config.patch.json", "\"H4sIAAAAAAAA/6yQsW7EIAyG9zwFoh0vsOcpulcd3GASnzigYIZrlXevTKqKoUulGxj4sb/vF1+TUvqZnF6U3pnzYu0nMc3oNjQR2acWXbkbSrauO96g2jVFT5vJwOturjVFfREI3zMKJb1fceUzA+eIKUUILyVlLExY9aK4NOzvBT8aFRT766TUWw/zOCr9lNIRbvh7k8YFvcgceopdUQ2E0Os82SG1sjnHFoLuu8flBDpgGIEOPbTAEv2M/Mty/sks1D9kDFt9oExwo2WSc3wHAAD//2OzvNnKAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config.post.json", "\"H4sIAAAAAAAA/6yQsW4DIRBE+/uKFUmZg/6+In2UYnMs57UwEFgKx/K/R+A7idaSCyQYmDfD3iYA9c5WLaBOImkx5o+FZ7Ib6UDiYg02XzVHU9YTXbCYNQbHm06xiD6XGNRHY8g1UYPEnzOt8tDQWhaOAf1njomyMBW1gORK/T7Tb+VMLfxrAgBQAS/UvQdx31sUVBPAd/elkXYbnMep/SmTa30sOQ69RdHofW/8ZgbVdGe33cfkF7F684FlyWH10qT9yVMBj+HPxzyGzriVF+Y03Byq93vK1Nb9PwAA///FKGHWLgIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/config.put.json", "\"H4sIAAAAAAAA/6yQsW4DIRBEe75iRVLmoL+vSB+l2BzLeS0MBJbCsfzvEdhWaCO5oGCYmbfLRQHoV3Z6BX0Qyau1Pyy8kNvJRBKfWnTlbDjZuh3ohNVuKXreTW5ijjVF/dYr5Jypd6SvI21y09A5Fk4Rw3tJmYowVb2ClEbjvdB340Kd/aEAAHTEE40sgHYoqBXA5/DmueEyuR+3vkYh32dw5DkOcjUYwpjyxU6qHckRu860qcuRxxakS3fLvwC3P1oeO/xxBPf6RE6vW2IL4U5R/Vx/AwAA///Ef4pl1QEAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.patch.json", "\"H4sIAAAAAAAA/7yQsU7EMAyG9z5FFBjbZu9LgI4RMYTGbX1Kk+A4Qzn13ZFz0qlIMIAQQ4b8tv/vty+NUvoenR6UXpjTYMw7MnbgZugD8BRLcLT1GE0eF1htNlLqKBYG6lL0OG59sjwu/TnHoFsx5C2BOMbXM4x81axzyBiD9Y8UExAjZD0opgK1TvBWkECSPDdKvVQxHVslq1I62BVuP0lPMAnMwYShInJvva9x7sxBNTLZheK9rrN7ezXMsNrAOB5NHUy2eNaDkv7256yb6SeU3O5UT3eK/rDUXxAtkd0epicmDPMXa6KDwMjb/5PZzt8AL/svcGJ3pDTy9o8AAAD//6YgUXDKAgAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.post.json", "\"H4sIAAAAAAAA/7yQsW70IAzH9zyFxfeNSdjzEq2uY9WBBifnEwFqzJBGefeKnK7ihg6tqg4M+A+/n+2tAVD/yaoB1FkkDlq/k1CHdsbeo0whe8trT0Gn8YyLSbpEHYcsyF0Mjsa1jyFJf0nBq7bwZI1YgOH1gqNca8ZaEgreuEcOEVkIkxpAOOORM75lYiyNPDcAAMqbBVUD8HLksf61VS9utzIH41S8Fifyhy31xrmjs3+6quobG2Bvr6yEi/FCY82zOJnsRA3gs3Pt9zWf0DtVWeDp2N8puGqe3zAaZrM+TE/C5OeuQO7dZNELyfr3ZjHzF8Jt/4Gu4GpLU87+EQAA//9lljpbzwIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.put.json", "\"H4sIAAAAAAAA/7yQsW70IAzH9zyFxfeNSdjzEq2uY9WBBifnEwFqzJBGefeKnK7ihg6tqg4M+A+/n+2tAVD/yaoB1FkkDlq/k1CHdsbeo0whe8trT0Gn8YyLSbpEHYcsyF0Mjsa1j1n6SwpetQUna8TCC68XHOVaM9aSUPDGPXKIyEKY1ADCGY+c8S0TY+njuQEAUN4sqBqAlyOP9a+tenG7lTEYp+K1OJE/bKk3zh2d/dNVVd/YAHt7ZSVcjBcaa57FyWQnagCfnWu/r/mE3qnK/k7H+k7BVfP8htEwm/VhehImP3cFcu8mi15I1r83i5m/EG77D3QFV1uacvaPAAAA//8Vnnc0zgIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.patch.json", "\"H4sIAAAAAAAA/5SPsU7EMAyG9z6FFRjbZu/GE4DEiBhyjdv6lEuK4wzl1HdHzkmoSDdwQ4b8jr/vz7UBMM/kzQBmEVkHa79JqEM/Yx9RplSi562nZPO44MVlq6OOUxHk3K9OxqU/5xRNqyjZVlRWOp1xlFvmvCehFF1447QiC2E2AwgXrHPGr0KM2uGjAfis4Xp8qi0BTHQX/L1pb8ZJZR4nilWRexdCrfNkD6nVzS6WEEzd3dsbkFPAFxGmUxHMBg5sj5MrQTTTvfaPE/4ldcxue53ehSnOd+zi5mzuKAe47u3jf1Tc0dLo2X8CAAD//330Q3/hAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.post.json", "\"H4sIAAAAAAAA/5SPsW7DIBCGdz/FiXZ0zO6tT9BKHasOJJydiwjQ4xhcy+9enaNIROrQDgz8P3zf3doBmGfyZgRzFsmjtd8kdEA/4xBRplSj52WgZMvpjFdXrFYHTlWQy5BTkeFSUjS9kmTJqKh0vOBJbpnznoRSdOGNU0YWwmJGEK6494xflRh1hI8OAMBEd0XTAXzufW5/rc2L+003YJzU63GiuNvK4ELYJ3uyTWrvbICtv7E4BXwRYTpWwWKgwXqcXA2iWawh9A86+JPPMbvldXoXpjgflPJoFzcX84tyhHXr/7+e4lpLp2f7CQAA//+U7xth5gEAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.put.json", "\"H4sIAAAAAAAA/5SPvU7sMBBG+zzFyPeWSdyn4wlAokQU3vUkOyuvHcbjIkR5dzQGJK9EAYULz8858+0dgPlP3kxgLiLrZO07CQ3oFxwjypxK9LyNlGw+X/DmstXWwKkIch7XIuM1p2h6Bcm2opLS6Ypn+aw570koRReeOK3IQpjNBMIFa5/xrRCjXvDSAQCY6G5Yd5Xolmw6gNc6u7aEvZn+/mkYxllv8DhTrOY8uhDqlf9sU7V1s64dXzZOAR9EmE5FMBtosB5nV4JoLZYQ+jsd/MrnmN32OD8LU1wGpdzba9YflBPsR//3eIprLZ2+4yMAAP//SCylpfEBAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/enroll-er.post.json", "\"H4sIAAAAAAAA/6yOMU/DQAyF9/sVlsXYJhSJJWtXBnbEEHKPxFV6d9gOolT97yihQJEYGW64z/b33jEQ8ZVEbogH99LU9bu4rBF7VAn+nKcU9VBJrq0bsG+tRtI8jmtoVbJ5tbOceDVr/FAwe/LTDp1/sjZGccmpHe81F6gLjBtynbDMFS+TKOb8h0BExAZ9hW6hvjVdJETcnb+B6HG5K5e24++lL3BRyVwl9WcbEe8l3SH1PnBDmx/avn3T283N9cJPq796/XNGmN8pfAQAAP//xQj7Wo4BAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/enroll-updb.post.json", "\"H4sIAAAAAAAA/1yPwU4DMQxE7/kKK3CkyX2/gjvikNZe6irEwfYKlar/jhKEtOrBl/F43vgWAOIzY1wgnt37kvMPOx8IPyg18lW2hnpNLNlOZ/oslqmp1HrYOh5TF/N0MWnxZQT5tdNIkuOFTv6nFUR2llbqq0ondSaLC7huNPdKXxsrjQZvAQAg9mL2LYoxALxPT99f3h5c/8p4RGkdfKSV26RaKrXOhk95p+Y9A+AextzDbwAAAP//RlxT5w4BAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/enroller.post.json", "\"H4sIAAAAAAAA/0yOsU6DMQyE9zyFFRhpsv9PwY4YQuOfukrt4DhDQX135CChf/Dgs+/u+wkA8Zlq3CBezPqW8zcZnbB+YmK0XSZXvSeSPM4XvJWRkVVaS12GpesQji+eYfeOHiIfVzzbn1ZqJSPh0l5VOqoRjriB6cR1V/yapOjlbwHgfYn9+Op4AJHLDf83B1bcvaziTrwqRiqtLZynfFCzO088W4vL+wg+j/AbAAD///tU0vH3AAAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/identity.patch.json", "\"H4sIAAAAAAAA/5yRMW/6MBDF93wKy///CMmeDal7K6FOqIOJL3DIOafncyWK+O6VTQqORFu1Q4Z78Xvv5/OpUkr/R6tbpfciY9s07yi4BLuDmkB6H8nysUbfhG4PgwkNWiBBQQj1aKTb14fgSS9SkBxHSEl+e4BOLpqxFgU9GffEfgRORt0q4Qj5P8NrRIZEsKmUesniWB5NjEppMgNcp0TN0KcyCz1Srgi1cS7j/GsKtUnOJUXndPaeF5fAifYaOM2baVZKB2GknV7clFvKhJpVoDjMnOlY4XoOwGXKA7xhB6WyBs7SZ/QMlL2DlQjjNkqxEZXvbqIT3c4af7Eaw2yOj/06X/Tejszui8LT+Q91Ke5OC4aVHZC+f4yt9w4M/fwaN8beuACXpip956r6CAAA//+2rKeo8QIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/identity.post.json", "\"H4sIAAAAAAAA/5xSvY6jMBDueQrLd2UCfbpI199J0VWnFAYPyUTG5sbjlbIR776yA8RErLSbAgHf6PuZn1shhPyJWu6EPDP3u6p6R8Yt6BOUFrh1wWq6lugq35yhU75CDZaREXzZO8/lxTsrN1GHrz1EIVdfoOE7prRGRmeV+UOuB4o8uRNMAVKd4H9AghjgXyGEENKqDhJ3Uhy/0e91h1YWQhwTtc8Fbxl5+outEbQxkoYWbQriS2VMCv2jytAqMRNtyM0zrak9z4T2NMYSQoIN3Rw/IX890FwXQv6CN2wgRw5ACRqR48IYLDljOrC8Yp/ZZHMeERuMmTXngCuDuvOZF0DWY+2cAWXlXBs2C16jnplfnzTqddnQ6/p11eCBHjtM2kX+Hp7OaGWxU9Pz4DS0Kpg4pFYZDwsdcgb2zIR14MVgM1Zcx+b7p6iI1PV3e0h3tn3sdD5MdfrE8Da8YBflcpciPkNRfAQAAP//RC/mxRwEAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/identity.put.json", "\"H4sIAAAAAAAA/5yRMW/6MBDF93yKk///EZI9G1L3VkKdKgaDL3DIsdPzuRJFfPfKBoNbZWmHSM6z7vfeO58bAPWfjOpBHUSmvus+SWiJZo+tQxl8dIZPLfku7A446tCRQSckhKGdorTH4J1aJIycJkwcvz3iTq6aNoaEvNP2hf2EnMZUD8IR8z3jeyTG5P/WAAAop0fMs4VYznofypnCyozkVAOwyZiphp8rUPlLLRmHFM/gQC6HCq22Nhf411Vqlyfz2KUOUrFK1SBMbn+LBaDQxfFeJSuvAfl+D6Ce8IN2WCtr5CzdlM03Y/YWVyJM2yhVOcg1dLSienDR2sXvW2pmfXoe1rnCMkF+dE4LnzU8X/5gl3AzLuUpZ5a79d6ido/tPhIM2ga8cpr0XZrmKwAA//8qeCDFygIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/identity.service-configs.json", "\"H4sIAAAAAAAA/6yQsU7EMAyG9z5FFBih2fsU7IghJO6dT20cbBepnPruyOVURerKkiif8n/+5XvnnH/G7Afnr6p1COEHFV8hX6AvoCMtJfPaIwVJV5ijhChCCaMilb6SaH8TKv7FRLpWMFNkjusfQoVZ/OBs0OnZROjzBkn3zM5jzmgj4vTGVIEVwXLKCxx/GL4WZLDy7w/mnBfgb0xwqJzzicqIF/8AH4egtur7WdFC2xPDaF0zjFj2dtLHadoX8BQaGkqcwR/R7Vzlv8xde9u5dVv3GwAA///IuwBV1QEAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.patch.json", "\"H4sIAAAAAAAA/7yRsU70MAyA93uKKP8/Xpu9LwE6RsQQErf1KU2C4yCVU98dOSedigQDCDFkiGN/n+1cDkrp/+j1oPTMnAdj3pCxAz9BH4HHVKOntcdkipthscUUoFd00FI6SpWBupwCurXPlt3cn0uK+ihgXjMIOT2fwfE1Zr1HxhRtuKeUgRih6EExVWjvBC8VCaSjx4NSTy2Y96nSs1I62gVuN5mCYBSZhxFjU5TehtDa+Wd2USOVXawh6Fa7Ha/AAouNjG4P9TDaGlgPSvKP33fdoB9UsrtTW90phd1Qv2G0RHa9Gx+YME6fjtn+7+/FbKcvhJftBzrB7S0HOdt7AAAA//+t5YFY0QIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.post.json", "\"H4sIAAAAAAAA/7yRwU4EIQxA7/MVDXrcGe7zE5r1aDzg0NnthgUsxWSczL8b2KxBEw8a44EDbXmvLWsHoG7JqhHUUSSOWr+RUI/2gINHmUP2lpeBgk7TEc8m6YT8ShPWkp5DFuQ+BkfTMsSQZDil4NWucGWJWMDh+YSTXGLGWhIK3rh7DhFZCJMaQThjzTO+ZGIsDT12AADKmzOqDuCp5mP7am0qrrcyD+NcvBZn8tWWBuNc7exGN1F9ZQNsuwsr4dl4oanlWZxNdqJG8Nm53c81H9BPqrLAfd3fPrhmnr8wGmaz3M0PwuQPfYF8HbN+4v+LxRy+Ea7bL3QF11q6crb3AAAA//9c9J3G1gIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.put.json", "\"H4sIAAAAAAAA/7yRwU4EIQxA7/MVDXrcGe7zE5r1aDzg0NnthgUsxWSczL8b2KxBEw8a44EDbXmvLWsHoG7JqhHUUSSOWr+RUI/2gINHmUP2lpeBgk7TEc8m6YT8ShPWkp5DFuQ+BkfTMsQswykFr3YFK0vEwg3PJ5zkEjPWklDwxt1ziMhCmNQIwhlrnvElE2Pp57EDAFDenFF1AE81H9tXa1NxvZVxGOfitTiTr7Y0GOdqZze6ieorG2DbXVgJz8YLTS3P4myyEzWCz87tfq75gH5Slf3t6/r2wTXz/IXRMJvlbn4QJn/oC+TrmPUP/18s5vCNcN1+oSu41tKVs70HAAD//9phr5vVAgAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.patch.json", "\"H4sIAAAAAAAA/7ySMU/7MBDF934Ky///mCZ7RsQOgrFiOOJLe5VzNvYZKVT97shuaF0JBhBiyHAvfr/3fPJhpZT+T0b3Su9EfN91byS0RrPFllFGl9iEuSXXxWGHE8QuYnilAdfeWRrm1oMMu3YfHesmw2T2mGnueY+DnDQwhoQcg70PzmMQwqh7JSFh+R/wJVHA3GKzUuqpiL4+mnsqpRkmPE+5ecAxhxkciUtEbMHaUudfV6lddq45WauL99icgEvbM3CZN8uslI4SiLe6uSgXylK1qMhpunbeEtjad0NsqjljPihXnSJOwEJD3cvgCMmK7out+f79z9CrKDLIQjI/OFut+TfyIASY78bHsr1PFr+8or8PFth+EXg4/iAu4+qUVf6O7wEAAP//5IOqolcDAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.post.json", "\"H4sIAAAAAAAA/7ySMU/zMBCG9/yKk79vbOM9I2IHwYg6mPjSXuWcjX1GClX/O7JpKxeJAYQYMvjse573Tjl0AOo/WTWA2omEQes3Elqj3WLPKJPPbOPSk9dp3OFskk4YX2nEdfCOxqUPPkm/T57VqrBkCVhg/nmPo3zUjLUk5Nm4++gDRiFMagCJGet9xJdMEUuIpw4AQLGZsfaeiR3Apr4NLeHQvD6fyjwRp5LB4kRczak3ztWU/3RT1bWzth1bW8M6z5MkEm9PmQAUcp4veWvlloy73AOoG2KrTsfNlSPhbFhobD0WJ5OdqAE4O7f6/igX6JWKLLKQLA/eNRv7DZ+J0Sx302Pdy7pA1Kch62/y92Ix2y+Eh+MPdAXXWrryHd8DAAD//9FavMI4AwAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.put.json", "\"H4sIAAAAAAAA/7ySMU/zMBCG9/yKk79vbOM9I2IHwYg6mPjSXuWcjX1GClX/O7JpKxeJAYQYMvjse573Tjl0AOo/WTWA2omEQes3Elqj3WLPKJPPbOPSk9dp3OFskk4YX2nEdfCOxqUPWfp98qxWBSVLwMLyz3sc5aNmrCUhz8bdRx8wCmFSA0jMWO8jvmSKWDI8dQAAis2MtfdM7AA29W1oCYfm9flUxok4lQwWJ+JqTr1xrqb8p5uqrp217djaGtZ5niSReHvKBKCQ83zJWyu3ZNzlHkDdEFt1Om6uHAlnw0Jj67E4mexEDcDZudX3R7lAr1RkkYVkefCu2dhv+EyMZrmbHute1gWiPg1Z/5K/F4vZfiE8HH+gK7jW0pXv+B4AAP//hjEdGDcDAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service.patch.json", "\"H4sIAAAAAAAA/7yPsU7DMBCG9z7FyTCm8Z6NJwCpY9XhGl/Sq1w7nM9Ioeq7I7sVDRIMMDBkuIvv+/7/vAIwj+xMB+agOnXWvrPymtxIbSAdYg5O5pajTf2BTphsInnjnlI7ofaH9phiME3B6DxR4cT9kXq97tA5Vo4B/YvEiUSZkulAJVP9L/SaWaj4tyuAXV1Oy6clIYAJeKLPqWQWGorM0cChKlKL3tc4D3axteVyHbL3pt5emitQSU4cUKNsVFBpnJf4W5ftbQYwSYXDaJr75s4E2H1hS/T0pCq8z7ooATUuZq+mg3Ld/L4NiuD8PGxqmm9q9TEMPP6vU/En4fnyB13BLS2r8l0+AgAA//+PRRdSqgIAAA==\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service.post.json", "\"H4sIAAAAAAAA/7yPMW7DMAxFd5+CUDs61u6tJ2iBjEEGxaIdBorkUlQBN8jdCykxog4d2qGDBpLie5+XBkA9k1U9qKPI3Gv9SUIbtBN2HmUMyVteOgo6Dkc8m6gj8gcNGLs5ROlOMXjVZoosM2ZMOJxwkFvPWEtCwRv3xmFGFsKoehBOWOaM74kYs37XAAAob86oGoB9mc/11qX6sVY5PeOYvRZH8sUWO+NcSfakq65e2QDX9sYS5DN5I4G3wkZwWmry/aLdvQZQUZj8pNpHxyfn1L3cf2NzcPgiwnRIUuWHktQkJ6qHvN3+/hDDbJbXcVvSbB4RVvUQ/EjT/zrF/CS8XP+gy7ja0uR3/QoAAP//rYIGpa8CAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/service.put.json", "\"H4sIAAAAAAAA/7yPMW7DMAxFd5+CUDs61u6tJ2iBjEEGxaIdBorkUlQBN8jdCykxog4d2qGDBpLie5+XBkA9k1U9qKPI3Gv9SUIbtBN2HmUMyVteOgo6Dkc8m6gj8gcNGLs5SXeKwas2Q2SZMVPC4YSD3HrGWhIK3rg3DjOyEEbVg3DCMmd8T8SY7bsGAEB5c0bVAOzLfK63LtWPtcrhGcfstTiSL7bYGedKsidddfXKBri2N5Ygn8kbCbwVNoLTUpPvF+3uNYCKwuQn1T46Pjmn7uX+G5uDwxcRpkOSKj+UpCY5UT3k7fb3hxhms7yO25Jm84iwqofgR5r+1ynmJ+Hl+gddxtWWJr/rVwAAAP//WGvSsq4CAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/session.post.json", "\"H4sIAAAAAAAA/1yPvU7FMAyF9zxFZDGWZO+IWHgGxHBpzL2uWifEDlJBfXcU+kNgPF98vthfxlq4owC9hZtq6r3/JKV7DFd0jPoWC4e8OIpehhvOF/GCIhRZXIqibpTI0FWLLgmrJr6OOOjGUo4JsxIK9Lb+ZS0I5g8a8CmcqCmLZuIr/OC1M+3b/9nnPduz1f0SLtMEe3w5OCCX+W/zkS5T23sgDk2umsOy7WT2vSDje6GM4fQ1h5k6vn4HAAD//4TdzLNcAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.patch.json", "\"H4sIAAAAAAAA/6yRMW7DMAxFd59CUDPG9u5TdA8yKCJtM1AklaKGtPDdCylGY69NBsPgJ/E+9fnTKKUPBHpQehaJQ99/k1CLMGHnUcaQPfC9o9AnO+PNpF6Qb+SNBO6iETt31xS8PhaQ3CMWUrhc0cpDMwAkFLxxnxwishAmPSjhjLXP+JWJsWxwapQ6VzFuR8uOZTBkQf6rn3antVZKJ2HyUzVeFZ+d02t5rv/l0dUX8lCG3wY0AIwpvQ9oQ5It7cA4lngBR/I11NQZ5+oBPvqNurlRWyE7bGS0COgtvgzfoHYWYqZdDoCjya4+Zjn+w9FMqX3mtDTlW34DAAD///DdHuy8AgAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.post.json", "\"H4sIAAAAAAAA/5yRQY7yMAyF9z1FlJ8ltHtO8e8Ri9C4xSgkGdsZiUG9+ygZOiSaDWLRhV+fvxfb904pvUGr90qfReJ+GL5QcAd2ht6DTCF5S7cew8DjGa6GBwG6ojcSqI+Bpb9w8HqbOXKLkEHhdIFRfjRjLQoGb9x/ChFIEFjvlVCC8p/gIyFBfsChU0opzUCfOEJpz4aQBGitjLUEzLpT6lj6Y029t4RVqJ7GQuhnXeSlTXjRfUJvs/jXfnjU6rdx+1R8ck4/ymMDXEd6MX8MLLV3QzBlr4UJfVk198a5cpZ/Q6VWh9sVSIONBCNY8O3a3oJXqCZCzNxMaWEyyZVhlu0biWbm3XOtS5e/5TsAAP//25UF0NECAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.put.json", "\"H4sIAAAAAAAA/6SRPW7DMAyFd59CUDMm9p5TdA8yKBLtMFAklaQKpIHvXkiNGxldinbwwOf3Pv7o3imlN+j0XumzSNoPwwcK7sBN0AeQMebg6NZjHNie4Wp4EKArBiOR+hRZ+gvHoLeFI7cEBRRPF7DypRnnUDAG418pJiBBYL1XQhnqf4K3jARlgEOnlFKagd7RQo0XQ8wCtFTGOQJm3Sl1rPnUUu+ryFI3k7EQhklXeX4gTxhcEX/aD49afQe3TyVk7/WjPK6Ay4y/7G8jS+vdEIzF62DEUG/HvfG+3vllaNTmJXYVssImAgsOgoV/wxvUqoWYabWlg9FkX5eZt3/oaCbePc86d+WbPwMAAP//sqYrZaICAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.patch.json", "\"H4sIAAAAAAAA/5zOMW7EIBAF0N6nQCTlGnqfIleYhWE9KxbQMBSbyHePBkuR6xQUfPQf/2cxxn5StJuxu0jbvP8moRXjA11BSXWUyG9H1few4wu6T3BnCivXIcjdNZCwu2evxd4Uk3dD1er9iUHODGIkoVogf3FtyELY7WaEB873dk11kjG2wAv/bjqSMakbMVGZWneQ8/z5w19Sr821jJzt7B63ExR49P+B2ryCi55j+Q0AAP//uFLZijwBAAA=\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.post.json", "\"H4sIAAAAAAAA/5yPsXIDIQxEe75CQ1L6oL+vSJ9JgQ+dLQ9GRBKF4/G/ZzjHM1enoGCXfbvcHYB/p+xn8GezNsf4Q0YT5hOGirZyr1lugTjqcsZr0rimo9AyCXdD0dBYLVyUqz8Mlt0aDhgfL7jYU0s5kxHXVD6EG4oRqp/BpOPmC353EhwjPh0AgK/pit4BfG1+26fuuxev2/iD4Dp6M65UtzYNqZRt2VvcqfHFBngcnixLJ/0faySn2kv5A7pxHu43AAD//+YEIOVWAQAA\"")
packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.put.json", "\"H4sIAAAAAAAA/5yPsW7EIAyGd57Coh17sOcpulcduGDuHCVAjRnSKO9eQRWJ+QYGjP/v/zgUgH4nryfQT5E8WftLQjf0DzQRJaQaPe+Gki3zEzdXbHB3pvnGqQpyMbmKWUqK+qOhZM/YWOm+4Cz/M+c9CaXo1k9OGVkIi55AuGJ/Z/ypxNgcvhQAgI5uw55tRPcoWgF89908Eo5h+7q17zCG5uAxUOzNxbh17ZZvdpjanuyxc2x7iXV5ApyqnVP9BQAA//+mADgbXAEAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180828083820_init-schema.down.sql", "\"H4sIAAAAAAAA/1SNMcvCMBiE9/dX3BDI9y3+geJQk7c2YFNpInYrQaNmaAuayV8vtCB4yw13D49uIQTteG8sEWAqcG+cd3+EJY4PrDxel0ccwzCFMaLq2gZpus3PMeQ0T8M6btbKAeeaO/5BtpDvlNMQr/coCfgnwNdsFwn3rE6eIXXXHuFUzU2J7x2qdKrULAsC2GqYqiBiq0mI4hMAAP//7wIpBL4AAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180828083820_init-schema.up.sql", "\"H4sIAAAAAAAA/2SNsUrGMBzE9/9T3BCILr5AcIjJ1Qb8UkkiflsJGjVD+4F28umFFgTxlhvufvz8BKXkjvchigBhAM8hl3wl2JP5QFfw9fLRljqvdWkY0nRCX98un0vd+mWdj/HmqK3ieWTiH+QW+rtvfW6v700LcC1AGRl3Cc90T4XQPk2PyG7kyeL3Dmezs57aCMDoEQYjwuhFKSPiEm3hP8r8BAAA//+lS2Hg2AAAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180905100347_initial-tables.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180905100347_initial-tables.up.sql", "\"H4sIAAAAAAAA/+xZTW/jNhC9+1fwtg6wKZxgU7Tbk5sohdHUab020D0RtEQ73MikINFxskX/exFbEknxQzJFL4pFeEpMcjiaee8NR7qeReN5BObjX+8i8JVwAnGyxj+sMYM5XhNGCzAcAEASUI3FYnID/pxN/hjPPoPfo8/APKb3czBd3N29HwBA0QaXPz+hPH5A+fDy6urMsrO5O84x4jiBiANONrjgaJOBHeEP+3/BV0YxuIlux4u7OaBsNzxTdm+zpMdujtZF6dKXglGHx03Pa6Pv/vn3Hfj4cb9/OTj7ZTAYWIIeo2LQCLZpbLck8U+AaYikjLomZUXoGudZTih3Wby6uOycZpxzmOGNZSnHz8aTHBZJAZ9wTlYEGwO6ZCzFqDWnssWDuRhxwijk7BGruz2emhQQbTmDMYKY5ixNN5hyiClapq9ee/hICsg4txn0tIi2/EEyogwPixKlTaMfzQNZlKhvGuHkoFSDxXTy1yICk+lN9DeIUQElikG4JTTBzwMA7qeqYoChtM6lLiTBlBP+AvlLhjWhCaPqF6POAvLdqbopjWrMIUlsiVQXgiFJJJOWTBI9iyFyqWb0iJKgPAMkycGP7rEtpSbBK7RNOUTJhtBaXKq4r1BaGEpZU672e6vhYUMTqBCSFEKEvgleSResEoHT8d08mrlgCsD45gZc308/zWfjyXSuHqRxZPUIbu9n0eS36R6+wyayzsAsuo1m0fQ6+tRKIiuNClwUpguuD3/ku4AP7CvP/Vgjo7UnUHtiNBw8zZiqcqYjqpqBUiwdSGoDEdFUWCFKfdo+8TamCITtlzkkPU63Bcf5W7MVHEe2BhdxvEMvOvlBn9iXaYSqwX3D1v1h7A2bRz7NfZq4r11+cFhyt2ZdOzJnN+ZX3xlNCVWXeRgSLzlgk3LdH0tqsqQi4G/ky64O6pEBlox0YXGrEfyckRwXHkbM7V2wri5YM3fqalWJjF6tqhkoFEMvVmLOUqtE1XDdwzp4oTBBd0SZtviivDF0ti9ZzjiLWappby1vozOX7r4Vu2OL3QotcxJX1+K3oIcNujvqxhtG/w7d5yogUPBa7+TEd00doyuyrqeChNBQL/oXiv4V4tSloQSHrsnlBFSzpWuyOm8RZZX4ZT9sbYfzJxLrAhECrh5oTWgBH1jBD4YEWD/85LqwNgxkLC9vDoRyvMZ513xKfClD4dGWlwZK1pyILb3J0psrp+/5D8A09fyHGVinysqTForU7Dg/B3O0TDEgBUhwluP4NVQAFYCtwOXo4ufz0Y/nF6MWEkH1jlP9+golGUdyTKsdTWmu1rQHSBxqjZRYAmH2qFB6KJx8LzsT+Fhxip4qMWfJlZCo4H5JT6w7JofD7JmU704qC5UXPhI+9vCwvFJQ5jrgoTrD/vzVCjcapD4k5JnfEApHeBW0IbOhgGK+Y/kjtL2C7vcG2qNUlY54vn9u4ve43U2EH7n7e2snzEhuIkZHcnMFFDk18auas/KrQqaLX15enZz1Hl4FZb3pg4F2ovPDga4PbR8QUJbBHaLSF+EWDdEu6y139P8V51rY5maZWkLd8YSNb+3iZ6CXau0rXodabThHQ6u+Rq/XYs172Y/gBwf/uhbUO/GT7pyYs/hWUaiteFeG6r6kAQwNF7brXQdY2Huf5go3JCRlDXlm/ccJ1dzDraAw+C8AAP//2ry6/CIrAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20181016142716_default-data.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20181016142716_default-data.up.sql", "\"H4sIAAAAAAAA/8zXXW9bNw8H8Pt+igPfpAXCBxJFiSKeq6DNgG5tNyzNBuwmoCQqPUBqe/Zxh/bTD8dNh6xvW98WX8mCb36i+Kfsh0/OTn9+Ojx88vTHYfFqnMYLa5e2+N9ibLacxunlxfRybdvFcHcxtsXxsFjqc5vXujGdrF3oNO926/Zmd+/OLyePzk/PhrtHkdk76gjeggIJMaggA4ccilovVfToeDg639rm6Hh4cPrdyfmjp399uPf/O3e+ra/E0AsJRF88kGYGJSOw1lTYJxV2s++BvRir3YawUkupS4NuPgN5CpBjC8AUUGokzFhm4ZltPoe43qymVV1dfYrueFhMerm9qZyutjPi9fI24D+V/L4b60y5Xm/VMtX1vir75aOSj1i6ls1YP7mF3sN5NcFat9vp2Wa1u3w2y3762/bzavVVfUudxhdzEx/9Nk7j8OTN9kto71HdMF+8/qauln28/FRx74V88QQtBgFqxUFO0YNV3xKSyw7Du3V+9yI+eLy3muTDR7201cXGLsfV8gsvQZ1hRekggghEIYJmZYitdC5NMDDPZ7ivS2063LfltNGrz76ir+eulEQ4gHexAjXzID146L1Xx0yZ+35Onp8Nv9p2un0whuSIpUGtLgMhEpQWE1AoqolRe9g/Pd/rWpe3z7XWXMquQ9BCQGIJpJUINWWMuShl12buyW47N8Sot0+O6DW0IpA9OaAcCZQzQvK1xBa6Odqn82y1m54NJ89tM9YDYOdAqFUbkJEAOcmQqRlklG4lxhbivjF+WG3sALglxoTFR+jdCpB4B6V7AnXBJe5SFe06eI/H9sdBZC9ZN8wagYkMKFGD4omBHKP1wkm6uzHkDmNgeFdTT5RBsPCcQIRikqAnDJFNI2Of0ae7zWptB4JmFEoYPfheGaiEAjmmDDVKI8Zg7Gg/NvphhI8dhdxSAOESgHJBUCsRiktJJWKimG4U+VQPocgWgrQkAtyjBzKpoFgVsmd05rh7SdcR3M+6fxB/e7BzMSd2ARJTBqqcIYtrYF3Rp47eeriRv8Oocgqd0bkCzEJAmuYkqoKGZC2EbLXs/8uebA/h8evirVYNkHrGucQFshcPps6FVI1L1OueOIzykhcU4wwpMQGxm3uiIUiRQKaSMuIMfjy2dnUoyYvNOcJSIPUWgSQKiFOGVKqyMwyd3yTvX/1S/jMAAP//ko/Ws40RAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190111165646_add-gateway-protocols.down.sql", "\"H4sIAAAAAAAA/3IJ8g9QCHF08nFVqMosyYxPTUlP1UtPLEktT6yMLyjKL8lPzs8pBgQAAP//QZ+dpyYAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190111165646_add-gateway-protocols.up.sql", "\"H4sIAAAAAAAA/6ySwW7iMBCG73mKuZFIq9UupxZObmKqqMFBxjlwstzEDS4QI9s0KlXfvSJSQipKS9XOzRp/vz95JqQYMQwM3SQY9sopLotS/i2Fk7V45lujnc712nq+B6AK6CrL4ghmNJ4iuoA7vICPi6QMSJYkfzyANvQQ0+BfVx9vXQ78kzD5Uhh/+C+4FFdVaaS1fGfWHX71/3r4SUAfz40UThZcOACnNtI6sdlCrdyyOcJeVxIiPEFZwqDStR+8w3fb4ie4E6VtrR6trr7xdV3q4OV1AKNRw997wdjzUMIwvWD2ACiKIEzJnFEUEwYnV/hxtpw/rGCSUhzfkmYx/GMvAIonmGIS4vnpixZ8VfyyV29pTsV6zTNmXVCrdsatkq7WZsWttFbpykJE0xmEaZJNCeTrnXXScFWMvbcAAAD//8IbvktwAwAA\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190116092021_add-gateway-hostname.down.sql", "\"H4sIAAAAAAAA/3L0CXENUghxdPJxVajKLMmMT01JT9VLTyxJLU+sLFZwCfIPUHD29wn19VPIyC8uyUvMTbUGBAAA//9B3XIDNAAAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190116092021_add-gateway-hostname.up.sql", "\"H4sIAAAAAAAA/3L0CXENUghxdPJxVajKLMmMT01JT9VLTyxJLU+sLObidHRxUcjILy7JS8xNVQhzDHL2cAzSMDU00rQGBAAA//8EAu9EOgAAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190429142248_add-enrollment-table.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190429142248_add-enrollment-table.up.sql", "\"H4sIAAAAAAAA/7SSwU7DMAyG730K37ZKCA0kOIyHibLm72qaOlXiMjrEuyNoC5k0wZDAN0f5P3+JXEVYBandedCRlQ3cHteQGLzvIJqKdUFExI4+axjy7oeSoCSD98VyUAVJGi2LUjbG9C3GIg/2kTsbR2oxXs0KEGUdDbv/UcgGGFO3JzYRNSKkQsq+aQ4w0mSooYXMgScbq8bG9c1mU15sOGE6aBPcKeb27v63GDz3HJGMVSLlDklt19OBtflo6RgEF2CmFXHfYxxqO3glCYd1eRYz9O4vMGr3afF8TEHOPmDBrF5eV9vt+7Xd1xKUD8VbAAAA//9/FrPN9gIAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190502145944_add-authenticators-table.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UssLclIzSvJTE4syS8qtgYEAAD//4CpwcskAAAA\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190502145944_add-authenticators-table.up.sql", "\"H4sIAAAAAAAA/7SRQUvEMBCF7/kV77YtiAdBD+uPCbPJdDu2TUoycemK/13ctlpBEcGd2ySP9728uMSkDKVDzziLimV/5Fsq2nJQcaQxZVMZABCPjyllu/06ISpC6XuzHrgYsiaSoPjKsmPHE8YkA6UJHU83C/tdopMVf0X2hmJt0yFxw4mD47zpZhEJ5znawNrGJdAzJddSqu7uH+o/RJuN5r/wlhRQGTgrDSNOou1lxTkGhueGSq8I8VTVPxiV0f+PkdIxrzdPOYZvH7Ea7V5ed9jvL8LDZ+v1ozFvAQAA//8sfwwlZgIAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190525131603_add-network-session-certs.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1ctLLSnPL8qOL04tLs7Mz4tPTi0qKbYGBAAA//82ylRcKwAAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190525131603_add-network-session-certs.up.sql", "\"H4sIAAAAAAAA/6SR3UrEQAyF7/cpcrddEEHBm/Vhhmwn7ca2mZKkW7viu8u0ULEq+JO7OXO+yRlOqYRO4HhqCa7sHCjWdCvkY9ImGJlxklCSuu2KHQAARxgGjiDJQYa2ncU8ZRJzRRaHL/nQNzSt7jy9coc6QUPTzXyx5f66K2xECxxDqJoP25UqUpKS7Puf25IrvwlOz74mWfSKpSbtNee4oJZn1OLh7v6wsV2w5RgqTR04d2SOXQ8j+3k+wjUJQaQKh/Yz5ek3zNJnDOg/oNJYbJMOffwX71gbPFmS1bV/ed0fj1k6vdd4eNy9BQAA//+82trHegIAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190710140702_add_event_log.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UstS80ric/JTy+2BgQAAP//TM0ZTiAAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190710140702_add_event_log.up.sql", "\"H4sIAAAAAAAA/6zTzU6DQBAH8HufYm6FxHgw0UN9mM2UndK1MEt2/7RS47ubQEGwagQ7N3bIbz6SyYIwhMDbQujs4IzYXO7lKApT+DyukhURkbM0jbq+evot1IO0LopV/5B5jQjsFPRZzFQHaagKruTQ0EGau/Z/NJVMtCOHbM8heXh8SmcU7zTO4IMZm3O5L9R4EYspUTg047b+S43aWkztfCgZEGtKiZFzIcgr/kAM1GT1HWcigtO8zd+Cswy+5OdyAzUyuniJXrdLpO6irOG+EbhSIris6OSwbz/p7FXIyo7rAqT+lKQ/jFhX9oYaOI9XU347T6+t397XtNlc1jFccfr8EQAA//9L+SBxOQQAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190711152500_add-service-hosts.down.sql", "\"H4sIAAAAAAAA/0opyi9QCHF08nFVqMosyYxPTUlP1StOLSrLTE6Nz8gvLim2BgQAAP//Ai0zFCMAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190711152500_add-service-hosts.up.sql", "\"H4sIAAAAAAAA/6yR0UrDMBiF7/sU57KD4QvsKrZ/JZilkqbgrsJcsxlaktEERZ9eVibbdOjNbnMO5/vIXyhimqDZvSB8uuSM7Xb2LtrxzW2seQ0xReQZAHy/uQ5oW15C1hqyFWI+xa6zPrn0ccgv4my2yDImNKm/MdMKK0sUtWy0YlxqXBSM2fd4UnzJ1AqPtEJ+Upqf828GPO0bs+1R1Yr4g/zJnkFRRYpkQc1vVkR+Q6P9GFLYhOGq0vkXXHc6Ntx/Vt6m9zD2JtoYXfDxKCXapQSvptPSM290g4OW8zu8hDDYtUdJFWuFxnY9RLvIvgIAAP//QNzU42ACAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190715170856_remove_fabrics.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190715170856_remove_fabrics.up.sql", "\"H4sIAAAAAAAA/5yQwUo0MRCE73mKvu3/X0TEg5CHCT1JJxM2dg/dnZX16WUVB/Qgo+eq76MoHE4KjssgeO3eE5VGd0Z66ZksAAAUlQ2ysLliZ4fPMFVctOfUS0r1HMNx1ZjPDDsdwx/RLFx7O4ZjKTCoYb6mDc18VZlthUVkQKGKczhUHEbA4sBzjONe4rJJZ09YipIZXFDzivrv4f7x6f8vPO1GJ5V5q3+R7Kv2safJZ5YXPsUQwvs53/0fL1n8KU1+3cjiWwAAAP//bqwnJQYCAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190729141132_remove-gw-status-col.down.sql", "\"H4sIAAAAAAAA/wTA0QnCQBAE0P9UMRXYgMWEiTcJC+MueHuIVp9Htz5oHhb+0bFrXHpcbH35m+AYeJXXOxFzr3SkcFRZTGQ1ctkYOrncOOmp57bdAQAA//90sbWwVQAAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190729141132_remove-gw-status-col.up.sql", "\"H4sIAAAAAAAA/0rMKUktUihJTMpJVajKLMmMT01JT9VLTyxJLU+sLFZIKcovUEjOzynNzVPILI7Pz8vJzEu1BgQAAP//kEeLtzUAAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190731134126_drop-gateway-protocols.down.sql", "\"H4sIAAAAAAAA/6zSQU+zMBgH8Duf4rkNkjdv3BITnac6OkNEZrpy2KnpaGVVoEvbuTjjdzcjgW0ydUafG3ngxx/6HxGMKAaKrmMMG+UUkyKX/3Pu5Jq/sKXRTme6sJ7vAQAoAe2kaRTCPYnuEJnBLZ7B8UkmFJI0jv/VQANvoRr4fg6BJtFWeOYmW3DjD86C0wFV5UZay1amaIGL/uXgC+IQyIzkTgrGHYBTpbSOl0tYK7eoL2GjKwkhHqM0plDptR98AFZL8TvA8dw22R6trn7wE1u39/rWg+Gwfn7uBVeeh2KKyQlN2HIoDGE0SaaUoCih0LmJ7c6ZsYcnGE8Ijm6Suib+bhcAwWNMcDLC0+47LfhK/HmyvQJ1o+0tP8nWQk04XjhpwPF5IY99AhcCMl2sygoW2rqKlxLa3p33B8F7AAAA//9duGeiggMAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190731134126_drop-gateway-protocols.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UtPLEktT6yMLyjKL8lPzs8ptubiSswpSS3CpbJYAWxOcn5OaW6eQkZ+cUleYm6qNSAAAP//wNeyyF0AAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190826091630_remove-service-protocol.down.sql", "\"H4sIAAAAAAAA/5SRywqDMBBF9/mKWSpIKd36MSGNow2mmTAZLfbrSyw+QOhjlsnck3OJZTSCIObqEZ5OnMamw1NCHp1FHZmELPmkCgUAsJy7BobBNRBIIAzez5d5LIUkbFwQODD0lta67ddMHsYWGYPFdLRI1by6cPLjo2F7M1xczuWfDjvKbxJr9G3xEa7jBozs7oYn6HGCYmte7XuUqqyVMl6Qv38B0CPkPYJISTrGVCv1CgAA//8X4WOAwAEAAA==\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190826091630_remove-service-protocol.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1StOLSrLTE6NLyjKL8lPzs8ptgYEAAD//wnoAAMnAAAA\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20191008091800_remove-protocol.down.sql", "\"H4sIAAAAAAAA/8SQQUvDMBzF7/0Uj1zawhgi7DJPVSMUayddKuw0Yhu2yNrU9j8HE7+7pNQOIu4i6P/y+g6/8su7yXgkOER0nXAcNem1Kjdq2rSGTGF2HQIPAHSJr3uTbbGVbXB5EeIxix+ibIV7voJz6UIgzZNk0vO1rJTLz2ahC/3IF62SpMq1JJCuVEeyanDQtO0rjqZWuOV3UZ4I1OYQhA6/b8pf8SQ33SD20pn6jLfrP/7Wf//wMZ/3/LMXXnlenC55JhCnYgE2bs+mbFyfIWC6ZBMwO6DN0xC2nZ5lm5VkofcUJTlfIvBp1/kTDDFofP/4C5PXvS6sypD/6kJF06/SxxmTzwAAAP//G933TRoDAAA=\"")
packr.PackJSONBytes("../embedded", "db/postgres/migrations/20191008091800_remove-protocol.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1Ssoyi/JT87PKbYGBAAA//+IBLuXHwAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "README.md", "\"H4sIAAAAAAAA/3RTPXPUPBDu9SueuSp5J2f3Kd4iQwEMQ4qEoV5La1ucLB2rVZLLr2ckO3cMhMaFpN3n04+zzzhK+sFWUTJnHOkguJpVj/m27yevcxk6m5Z+SkMZRwqpP5I9yDU0gZeBHXRmfH64/2qynXkhjD4wnr3OPrY74VyC+jhh8JHEc+7wPcmhntRn9VHmNpYh/LN44WzqpI9ZKQRSnyLS2LY1gkV98HqCTctC0XXG7DElTKzYF/yb9fo15nFmcFQvfAN2E/dNiWMH54WtJjkhqxSrRRg+43zvo6bGw6aokkJgMU3WCcMJjkcqQTtjzGMCx1zHdSZFTOAXFUJWPmaQMCJz3TgmAdV1uSwsq0yfkVMRW2Ec35jdXfHBVcMIdyvaVSUxkzg80+l6B8pwyZaFozaam1n2IOfz5qPxuSbtOrTwF6aYV4p1gIrOqZGgeNoi2Xa945FZSlZI+R3sj2hAo7KAgrL4OPXkqoxeeElPVU+D6Jpd7+65QaQnP5EyNuP7V6/+XFpJSVFx+IVtUb415v/aszVp7F+N+aTIcyrBIVtaITZz65xwfXmR22H3374Nd1PabRY8+xAwsJk4spCu7l1K+/Dx/tuXDxgYdmZ7eKvJhnJFE9UmX8QZ4WoPR9ciyddbGBQCP3lSzuc+ZIySFszU3NL09k+s3Es0fznW/QoAAP//sGY+ydUDAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/definitions.all.json", "\"H4sIAAAAAAAA/+xXTW/bPAy+91cIenPMZ9+6GHLrccCADNix6ADFoh0VsuRJNNasyH8fpDW1ZDuNUzjdYTkUhUmRfEg+lJjnK0LoSHC6JHSDWC5ns18CxQR4DlMFmOlKcbOdCj2z6QYKZmccMqEECq3slEk5fbRa0bHzE2jokjjXhFBkef3lvrcluGh6/QgpekMvZ5x7Uya/Gl2CQQHOLmPSwuuhkiGCUdGJvWdC6Pfp82KczHejSOycq+0qo0tyHwhJdCTCpiopaaTcjftZWjRC5XTc1BdCfQGV44YuyaKtZU+v2uv5zad3hVZVsQbzV0KvtZbAVKNkwdfDVVP65/9LAE+Sia96myl1z5qcIXGnHi5cunCJ0FSrTOQTzpBd7p1/kStHjEcGXEto1zv2X/i6zUImDUHHyw3XsLywtrfxB7NWsQK6bs9Gx6JyXdfSsEzJbctzj0FoUePAIJwOwC+7RxPLtCkYOk1VCd6d8KJnvAHTHRSWRXNqj0/xfaYu94PAjGHbVfaZd/748No6Qw4Zq6Qr630dUyAUjRtzP4TxwAlOO2eohtCjEjGig4U4O9IDnBi4YD7MW1C+eWJ8fN0aM9AJsWTW/tSm1zUSEjfpJO5iPu/0fqbp6QeismDe8wTcnOT9TCn2A2GhYApFOkx8UFURW95JucpCwzu/VdUC52jvJ0KGYAqhGGozSbXFEGB7M4sWt32LhELIG9uNK5EoPMp5LGdPL/LbJPk/qReD8dtB4rVvdyyV0kAKHFTaRapBKr6f8cDUwI9KGOChLGNCRpJ2I67c3+53AAAA//91BMQbHBMAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/association.patch.json", "\"H4sIAAAAAAAA/0yOsU4EMQxE+3yFFSgh6fcPqKBHFCZxWJ+WJNjeYjndv6PkhO6KFJkZz7yzA/CPnP0CfjXrS4y/bPxM+YtCJSttr1mOwC1qWukbNaJqS4zGrYaOltZw0lb902iyo9Ooap8nSnbVMGceYdzepHUSY1K/gMlO0xf62VloILw7AADPWb0D+Jh2vz863wL/n8EvVMZqpsJ1bmnAbZtcD/FOjSiCx2t5uQ4AXNx4F/cXAAD//6bt+FMHAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/association.post.json", "\"H4sIAAAAAAAA/0yOsVLEMAxEe3+FxlCC3ecPqKBnKESscLoJlpGUItzcvzP2DXMpXHh3tfsuASA+cokTxJN7m3L+ZednKl+UKvkiWy26J5Zs84m+0TKayczoLDU1MU9nkxqfepHvjXqTfJ5p9puGpXDP4vqm0kidyeIErhsNX+lnY6VO8B4AACIXiwHgY9jteHS5B/4/HV9p6auFFq5jyxKu6+B6yAc1oyrur8vLbQDgGvq7hr8AAAD//+MJlewGAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/association.put.json", "\"H4sIAAAAAAAA/0yOsU4EMQxE+3yFFSgh6fcPqKBHFGbjcD4tSbCdYjndv6PkhG6LFJkZz7yLA/CPnPwC/mTWlhh/2fiZ0heFQpZrL0n2wDXqeqJv1IiqdWU0riW0buGstfin0WN7o1FUP8+02k3DlHhEcXuT2kiMSf0CJp2mL/TTWWgAvDsAAM9JvQP4mHY7Hl3ugf/PoBfKYzVR5jK3NOC2Ta6HeFAjiuD+ml9uAwBXN97V/QUAAP//YSC09AUBAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator-self.patch.json", "\"H4sIAAAAAAAA/8ySMU/DMBCF9/yKk2Fskz1/gu6owxFfGlfuOZzPqkrV/44c2mAyAAIGlkR6fn7v7pPPFYC5d9a0YAbVsW2aF6duTXZHNZP2IbGVU+1CE7uBDhgbTDoQq+tQg6wj+b4eUbuh3sfAZpUDkU8PvWnhsQIAOE9fAKOnkXJReNpTp5N10tFapy4w+o2EkUQdRdOCSqLZM5Ynt0QA05Hohg4fxKIqqjjemfnosnq/qriLy3uWekxes1xYMyOhvFE2OJ6mjTV6Py191xRqk2PXnLwvWqvyfw3+EyxCz8kJ2Rn2G5QkQqwbjPEYxN4G2X5JM0USxgMtsXx/+1vCkkDBnek4T/bjnvGa8EnPksKvu/7ZM6oAttXlNQAA//9IbSvwwgMAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator-self.put.json", "\"H4sIAAAAAAAA/8RSQW7CMBC85xUrt0dI7vlEuVcc3HgDRmbtrtdCFPH3yhZy3bQHVAn1kkizszM7k1w6APVsjRpB7UXCOAwfVuwazQ57Qpl9IsPn3vohTns86jjoJHsksZMWz+uIbu5Dkv4QPalVltN0fpnVCK8dAMClPAGUnANmG/92wEkKteDaGCvWk3Yb9gFZLEY1gnDCymF8T5bRVNWCTsiywaO6IdtKD63Q5edCCzaXRWFLO1VH19XXquhdXO4ZnHVykuGGmgtlzAVkgqUSLvbaudLR09CgQ5ZdU3Kuce3a9034gS2miEz6iKpJS3ja6BhPnk0LT4kZSero7uKrx6LB+4uqCr9+nfbeP1uERazvFsvsD7L5t/+sA9h2188AAAD//ydDzrAQBAAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.patch.json", "\"H4sIAAAAAAAA/8yRwU7EIBCG732KCXrcLfe+hHs3HsYybdlQIMwQUzf77gaiFTcejImJF0j++ecb/uHSAah7a9QAahGJg9avVuyRzEy9J5lC9iZtvQ2ax4VWZI1ZFvJiR5SQ+ogyLv2Zg1eHwkK/PUxqgMcOAOBSTwAlW6QyIzyfaZRqrToaY8UGj+6UQqQkllgNICnT7olt5YMIoEZKcqL1i9iMYknWz2ovXQ+frYIz3/YZmjA7KXJjLetJVBIVg/X1tdyjczX0nW5UXbBHn51rpnbt/Q7+07VkpuRxpdt8P4+xE77dXUTml5DM7/k74X/9TQfw1F3fAgAA//+PKpHSEgMAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.post.json", "\"H4sIAAAAAAAA/9ySwWrDMAxA7/kK4fXYJvf8wU7rvfTgRmqjktieLTOy0n8fDsXz1sCghzF2SczDepIsXSoAtWJULahexLVN887CG8IT1YbkaKNBP9Vsm9D1NOrQ6Cg9GeFOi/W1s0Hqc7BGrZNKm+nlqFrYVQAAl/kLoGRylFLYw5k6ma/OXCOysDV62HrryAtTUC2Ij5TveHqN7AmzdaYjSW8xmwBUR162NJaIMRUq0zOqG9xnrSsTXu7EJftsYFcwABXEszmpAu7XZRSZON5HpUK/xOTzdaGd5ULuUl+X2/4WvfKUpqOQjmzmlw+1HoZ5gE9NQRvGZbfoU3jcmqI3Jg5DIa/K/y3Vry5ODOSNHqlkTofwZj3+/W2KDg8/b1Pu8eHRZcOiP7/Xw/5s+HcrXaWhXD8CAAD//53xhi5qBQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/authenticator.put.json", "\"H4sIAAAAAAAA/8yRwW7rIBBF9/6KEe8tE7P3TzT7KgtqJjYRBjoMqlwr/16BIorcLqJKlbqxpes7B+Z46wDEf6PFAGJmDoOU74bNEfWEvUO++OQ0rb3xMo4zLipKlXhGx2ZU7KkPiftr9E4cMkm59ekiBnjuAAC28gQQvAbMJ/iXK45cqiVXWhs23il7Ih+Q2GAUAzAlrB3C12QIdaWWdETiEy7inpxrPbSg7etAGzY3i0zGTaJ+uh0+R1lNcT+n8aKS5Rw31eySMAvIBePKcrFX1hZH/2STyow9umRtc2rXvu/gX7SYIpJTC4pm26BifPOkH1dbKTtHj6uohG/91xv9mL/f6Y/83w7g3N0+AgAA///AJmJBgwMAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/ca.patch.json", "\"H4sIAAAAAAAA/7SRMU/DMBCF9/yKk2FM4z1bhToXwYgYLvElceWcI/s8BNT/jpxEECEWKnXwcM963zv7fRYA6tEaVYMaRKZa6w8r9kCmp4pJOp/YhLmyXsd2oBGjbjFWE0o7VJfoWZWZIPNEGeGbC7WyamiMFesZ3XPwEwWxFFUNEhIt99NezXsAKMaRvqe8WaAucw11lhdarNC5JflB71SdnQdOzqnFey1XoI3HJP4JTxy8cyOxnBgbR2afsm3/ts0AqvHeEa6P26QfNsD7r4yzyL0jjkmGO3ANsViZX7zb1QDLh2NyomrI5vL/fWAIOJ+7VwmW+z+KEezjbU1n5x5Y5HMtvgIAAP//GHdsdsoCAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/ca.post.json", "\"H4sIAAAAAAAA/7SSQU/jMBCF7/kVI+8e26S74oByq1BvSK3giDhM40niyhkHeyIRqv53ZENpWk4gOOSQZ7/vzeh5nwGov0arElQr0pdF8WLEzEk3lDNJ7QbWfsyNK0LVUoehqDDkvQuS74JjNYsAGXuKBLfdUSVvGmptxDhGu/GuJy+GgipB/EDp3NPTYDzF5IcMAEAxdpS8AKoiLxvqVAbwmK73U8h+Yjj+xT081XEMTbXhFB5ytDYN+qeYqEVyJtvhInCCO24VxBtu3icDUJ3hW+JGWlXCv5OKzx/q/8XV9eIMb8JyEHeDK/bO2o5YVoxbm9b/FLh1zhLyKVFTjYMVVUKNNtAFeS3yO+DlIO2P0TSxGBnvnJ1UeGbiwdrZ17tE73Fc1/eppXmEnDcr2ITvvZLonAKz+B2y1wAAAP//IukB9TQDAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/ca.put.json", "\"H4sIAAAAAAAA/6RSsW7rMAzc/RWC3hsTe/cWFJlTtGPRgYnohAFNuRI1uEH+vZBSo06BtmgzCJBI3fHupFNljP1PzrbGHlSHtmleSWmJbo+1oHY+iQtjTb6JuwP2EJsdxHpIWh+jF7vIeB0HzAR+e8SdXmrgHCl5Ab4PfsCghNG2RkPC0g/4kihgHvxUGWOMFeixYDMj7OO0p7hK6u9gLcEz9yi6Ftgyuo8LG9Vv+6ukh6lYGfNcFAxzXaeZhumUkwnYZWcOO5LiJ9bAXLz/a2bVpiAL7Pyj7tmAKbqt94wg75JNmQiJ1bamA474ifkLw7cTz5O6mc2hKOn44HmW8RVIEvPi92FDCDBuukcNJPtlJrmOvnyfPz1jQV64qrzO1VsAAAD//5gA2H8iAwAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.patch.json", "\"H4sIAAAAAAAA/5SPsXLEIAxEe3+FhqS0Te+vSH+TghjZ1g0HBERxufG/Z4Q9Oa5MQcFK2n376ADUO1k1gdqY46T1DzENaFccPfISirfpPlLQed7wZrKeg19oHfgecYyG52285uBVL04iilX4uuLMh2asJabgjftIIWJiwqwm4FSwzhN+F0ooCJcO4LOKsV0VSADlzQ3/foKdcJEwiwv5GpFH41zFedONquVy8MU5VW/3/jA8GrWWJ//l/MNLk1N5+pywVbW4mOJYTSDzlxg2a25DnquPvf9/GbFry3Ty9t8AAAD//y7GrWTJAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.post.json", "\"H4sIAAAAAAAA/5SPvXLDIBCEez3FDUkpiV5Pkd7jgoiTfB4MBI7C0ejdM6efMS5TUNze8e3u0gCoT7JqAHVjjoPWv8TUoZ2x98hTKN6mZ09B5/GGD5P1GPxEc8fPiH0Mmft7Dl61AhJNSOH7jiPvmrGWmII37iuFiIkJsxqAU8Ftn/CnUEJJcGkAAJQ3D1QNwHXbx/rXUl2ckxRIOImvxYn85pZ749yW7ENXqj7ZAGu7s/ZaNe1ocTlmeOtzKL44p47xeurib4pjNYDs32zYzLk2eZ0ua/v/HoLrXiHWRt76FwAA//9p/q+szgEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config-type.put.json", "\"H4sIAAAAAAAA/5SPvXLDIBCEez3FDUkpiV5Pkd7jgoiTfB4MBI7C0ejdM6efMS5TUNze8e3u0gCoT7JqAHVjjoPWv8TUoZ2x98hTKN6mZ09B5/GGD5P1GPxEc8fPiH0s3N9z8KoVjkgCCt93HHnXjLXEFLxxXylETEyY1QCcCm77hD+FEkqASwMAoLx5oGoArts+1r+W6uKcJH/CSXwtTuQ3t9wb57ZkH7pS9ckGWNudtbeqaUeLyzHDW59D8cU5dYzXUxd/UxyrAWT/ZsNmzrXJ63RZ2//3EFz3CrE28ta/AAAA//8hRJxWzQEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config.patch.json", "\"H4sIAAAAAAAA/6yQsW7EIAyG9zwFoh0vsOcpulcd3GASnzigYIZrlXevTKqKoUulGxj4sb/vF1+TUvqZnF6U3pnzYu0nMc3oNjQR2acWXbkbSrauO96g2jVFT5vJwOturjVFfREI3zMKJb1fceUzA+eIKUUILyVlLExY9aK4NOzvBT8aFRT766TUWw/zOCr9lNIRbvh7k8YFvcgceopdUQ2E0Os82SG1sjnHFoLuu8flBDpgGIEOPbTAEv2M/Mty/sks1D9kDFt9oExwo2WSc3wHAAD//2OzvNnKAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config.post.json", "\"H4sIAAAAAAAA/6yQsW4DIRBE+/uKFUmZg/6+In2UYnMs57UwEFgKx/K/R+A7idaSCyQYmDfD3iYA9c5WLaBOImkx5o+FZ7Ib6UDiYg02XzVHU9YTXbCYNQbHm06xiD6XGNRHY8g1UYPEnzOt8tDQWhaOAf1njomyMBW1gORK/T7Tb+VMLfxrAgBQAS/UvQdx31sUVBPAd/elkXYbnMep/SmTa30sOQ69RdHofW/8ZgbVdGe33cfkF7F684FlyWH10qT9yVMBj+HPxzyGzriVF+Y03Byq93vK1Nb9PwAA///FKGHWLgIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/config.put.json", "\"H4sIAAAAAAAA/6yQsW4DIRBEe75iRVLmoL+vSB+l2BzLeS0MBJbCsfzvEdhWaCO5oGCYmbfLRQHoV3Z6BX0Qyau1Pyy8kNvJRBKfWnTlbDjZuh3ohNVuKXreTW5ijjVF/dYr5Jypd6SvI21y09A5Fk4Rw3tJmYowVb2ClEbjvdB340Kd/aEAAHTEE40sgHYoqBXA5/DmueEyuR+3vkYh32dw5DkOcjUYwpjyxU6qHckRu860qcuRxxakS3fLvwC3P1oeO/xxBPf6RE6vW2IL4U5R/Vx/AwAA///Ef4pl1QEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.patch.json", "\"H4sIAAAAAAAA/7yQsU7EMAyG9z5FFBjbZu9LgI4RMYTGbX1Kk+A4Qzn13ZFz0qlIMIAQQ4b8tv/vty+NUvoenR6UXpjTYMw7MnbgZugD8BRLcLT1GE0eF1htNlLqKBYG6lL0OG59sjwu/TnHoFsx5C2BOMbXM4x81axzyBiD9Y8UExAjZD0opgK1TvBWkECSPDdKvVQxHVslq1I62BVuP0lPMAnMwYShInJvva9x7sxBNTLZheK9rrN7ezXMsNrAOB5NHUy2eNaDkv7256yb6SeU3O5UT3eK/rDUXxAtkd0epicmDPMXa6KDwMjb/5PZzt8AL/svcGJ3pDTy9o8AAAD//6YgUXDKAgAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.post.json", "\"H4sIAAAAAAAA/7yQsW70IAzH9zyFxfeNSdjzEq2uY9WBBifnEwFqzJBGefeKnK7ihg6tqg4M+A+/n+2tAVD/yaoB1FkkDlq/k1CHdsbeo0whe8trT0Gn8YyLSbpEHYcsyF0Mjsa1jyFJf0nBq7bwZI1YgOH1gqNca8ZaEgreuEcOEVkIkxpAOOORM75lYiyNPDcAAMqbBVUD8HLksf61VS9utzIH41S8Fifyhy31xrmjs3+6quobG2Bvr6yEi/FCY82zOJnsRA3gs3Pt9zWf0DtVWeDp2N8puGqe3zAaZrM+TE/C5OeuQO7dZNELyfr3ZjHzF8Jt/4Gu4GpLU87+EQAA//9lljpbzwIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router-policy.put.json", "\"H4sIAAAAAAAA/7yQsW70IAzH9zyFxfeNSdjzEq2uY9WBBifnEwFqzJBGefeKnK7ihg6tqg4M+A+/n+2tAVD/yaoB1FkkDlq/k1CHdsbeo0whe8trT0Gn8YyLSbpEHYcsyF0Mjsa1j1n6SwpetQUna8TCC68XHOVaM9aSUPDGPXKIyEKY1ADCGY+c8S0TY+njuQEAUN4sqBqAlyOP9a+tenG7lTEYp+K1OJE/bKk3zh2d/dNVVd/YAHt7ZSVcjBcaa57FyWQnagCfnWu/r/mE3qnK/k7H+k7BVfP8htEwm/VhehImP3cFcu8mi15I1r83i5m/EG77D3QFV1uacvaPAAAA//8Vnnc0zgIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.patch.json", "\"H4sIAAAAAAAA/5SPsU7EMAyG9z6FFRjbZu/GE4DEiBhyjdv6lEuK4wzl1HdHzkmoSDdwQ4b8jr/vz7UBMM/kzQBmEVkHa79JqEM/Yx9RplSi562nZPO44MVlq6OOUxHk3K9OxqU/5xRNqyjZVlRWOp1xlFvmvCehFF1447QiC2E2AwgXrHPGr0KM2uGjAfis4Xp8qi0BTHQX/L1pb8ZJZR4nilWRexdCrfNkD6nVzS6WEEzd3dsbkFPAFxGmUxHMBg5sj5MrQTTTvfaPE/4ldcxue53ehSnOd+zi5mzuKAe47u3jf1Tc0dLo2X8CAAD//330Q3/hAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.post.json", "\"H4sIAAAAAAAA/5SPsW7DIBCGdz/FiXZ0zO6tT9BKHasOJJydiwjQ4xhcy+9enaNIROrQDgz8P3zf3doBmGfyZgRzFsmjtd8kdEA/4xBRplSj52WgZMvpjFdXrFYHTlWQy5BTkeFSUjS9kmTJqKh0vOBJbpnznoRSdOGNU0YWwmJGEK6494xflRh1hI8OAMBEd0XTAXzufW5/rc2L+003YJzU63GiuNvK4ELYJ3uyTWrvbICtv7E4BXwRYTpWwWKgwXqcXA2iWawh9A86+JPPMbvldXoXpjgflPJoFzcX84tyhHXr/7+e4lpLp2f7CQAA//+U7xth5gEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/edge-router.put.json", "\"H4sIAAAAAAAA/5SPvU7sMBBG+zzFyPeWSdyn4wlAokQU3vUkOyuvHcbjIkR5dzQGJK9EAYULz8858+0dgPlP3kxgLiLrZO07CQ3oFxwjypxK9LyNlGw+X/DmstXWwKkIch7XIuM1p2h6Bcm2opLS6Ypn+aw570koRReeOK3IQpjNBMIFa5/xrRCjXvDSAQCY6G5Yd5Xolmw6gNc6u7aEvZn+/mkYxllv8DhTrOY8uhDqlf9sU7V1s64dXzZOAR9EmE5FMBtosB5nV4JoLZYQ+jsd/MrnmN32OD8LU1wGpdzba9YflBPsR//3eIprLZ2+4yMAAP//SCylpfEBAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/enroll-er.post.json", "\"H4sIAAAAAAAA/6yOMU/DQAyF9/sVlsXYJhSJJWtXBnbEEHKPxFV6d9gOolT97yihQJEYGW64z/b33jEQ8ZVEbogH99LU9bu4rBF7VAn+nKcU9VBJrq0bsG+tRtI8jmtoVbJ5tbOceDVr/FAwe/LTDp1/sjZGccmpHe81F6gLjBtynbDMFS+TKOb8h0BExAZ9hW6hvjVdJETcnb+B6HG5K5e24++lL3BRyVwl9WcbEe8l3SH1PnBDmx/avn3T283N9cJPq796/XNGmN8pfAQAAP//xQj7Wo4BAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/enroll-updb.post.json", "\"H4sIAAAAAAAA/1yPwU4DMQxE7/kKK3CkyX2/gjvikNZe6irEwfYKlar/jhKEtOrBl/F43vgWAOIzY1wgnt37kvMPOx8IPyg18lW2hnpNLNlOZ/oslqmp1HrYOh5TF/N0MWnxZQT5tdNIkuOFTv6nFUR2llbqq0ondSaLC7huNPdKXxsrjQZvAQAg9mL2LYoxALxPT99f3h5c/8p4RGkdfKSV26RaKrXOhk95p+Y9A+AextzDbwAAAP//RlxT5w4BAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/enroller.post.json", "\"H4sIAAAAAAAA/0yOsU6DMQyE9zyFFRhpsv9PwY4YQuOfukrt4DhDQX135CChf/Dgs+/u+wkA8Zlq3CBezPqW8zcZnbB+YmK0XSZXvSeSPM4XvJWRkVVaS12GpesQji+eYfeOHiIfVzzbn1ZqJSPh0l5VOqoRjriB6cR1V/yapOjlbwHgfYn9+Op4AJHLDf83B1bcvaziTrwqRiqtLZynfFCzO088W4vL+wg+j/AbAAD///tU0vH3AAAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/identity.patch.json", "\"H4sIAAAAAAAA/5yRMW/6MBDF93wKy///CMmeDal7K6FOqIOJL3DIOafncyWK+O6VTQqORFu1Q4Z78Xvv5/OpUkr/R6tbpfciY9s07yi4BLuDmkB6H8nysUbfhG4PgwkNWiBBQQj1aKTb14fgSS9SkBxHSEl+e4BOLpqxFgU9GffEfgRORt0q4Qj5P8NrRIZEsKmUesniWB5NjEppMgNcp0TN0KcyCz1Srgi1cS7j/GsKtUnOJUXndPaeF5fAifYaOM2baVZKB2GknV7clFvKhJpVoDjMnOlY4XoOwGXKA7xhB6WyBs7SZ/QMlL2DlQjjNkqxEZXvbqIT3c4af7Eaw2yOj/06X/Tejszui8LT+Q91Ke5OC4aVHZC+f4yt9w4M/fwaN8beuACXpip956r6CAAA//+2rKeo8QIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/identity.post.json", "\"H4sIAAAAAAAA/5xSvY6jMBDueQrLd2UCfbpI199J0VWnFAYPyUTG5sbjlbIR776yA8RErLSbAgHf6PuZn1shhPyJWu6EPDP3u6p6R8Yt6BOUFrh1wWq6lugq35yhU75CDZaREXzZO8/lxTsrN1GHrz1EIVdfoOE7prRGRmeV+UOuB4o8uRNMAVKd4H9AghjgXyGEENKqDhJ3Uhy/0e91h1YWQhwTtc8Fbxl5+outEbQxkoYWbQriS2VMCv2jytAqMRNtyM0zrak9z4T2NMYSQoIN3Rw/IX890FwXQv6CN2wgRw5ACRqR48IYLDljOrC8Yp/ZZHMeERuMmTXngCuDuvOZF0DWY+2cAWXlXBs2C16jnplfnzTqddnQ6/p11eCBHjtM2kX+Hp7OaGWxU9Pz4DS0Kpg4pFYZDwsdcgb2zIR14MVgM1Zcx+b7p6iI1PV3e0h3tn3sdD5MdfrE8Da8YBflcpciPkNRfAQAAP//RC/mxRwEAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/identity.put.json", "\"H4sIAAAAAAAA/5yRMW/6MBDF93yKk///EZI9G1L3VkKdKgaDL3DIsdPzuRJFfPfKBoNbZWmHSM6z7vfeO58bAPWfjOpBHUSmvus+SWiJZo+tQxl8dIZPLfku7A446tCRQSckhKGdorTH4J1aJIycJkwcvz3iTq6aNoaEvNP2hf2EnMZUD8IR8z3jeyTG5P/WAAAop0fMs4VYznofypnCyozkVAOwyZiphp8rUPlLLRmHFM/gQC6HCq22Nhf411Vqlyfz2KUOUrFK1SBMbn+LBaDQxfFeJSuvAfl+D6Ce8IN2WCtr5CzdlM03Y/YWVyJM2yhVOcg1dLSienDR2sXvW2pmfXoe1rnCMkF+dE4LnzU8X/5gl3AzLuUpZ5a79d6ido/tPhIM2ga8cpr0XZrmKwAA//8qeCDFygIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/identity.service-configs.json", "\"H4sIAAAAAAAA/6yQsU7EMAyG9z5FFBih2fsU7IghJO6dT20cbBepnPruyOVURerKkiif8n/+5XvnnH/G7Afnr6p1COEHFV8hX6AvoCMtJfPaIwVJV5ijhChCCaMilb6SaH8TKv7FRLpWMFNkjusfQoVZ/OBs0OnZROjzBkn3zM5jzmgj4vTGVIEVwXLKCxx/GL4WZLDy7w/mnBfgb0xwqJzzicqIF/8AH4egtur7WdFC2xPDaF0zjFj2dtLHadoX8BQaGkqcwR/R7Vzlv8xde9u5dVv3GwAA///IuwBV1QEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.patch.json", "\"H4sIAAAAAAAA/7yRsU70MAyA93uKKP8/Xpu9LwE6RsQQErf1KU2C4yCVU98dOSedigQDCDFkiGN/n+1cDkrp/+j1oPTMnAdj3pCxAz9BH4HHVKOntcdkipthscUUoFd00FI6SpWBupwCurXPlt3cn0uK+ihgXjMIOT2fwfE1Zr1HxhRtuKeUgRih6EExVWjvBC8VCaSjx4NSTy2Y96nSs1I62gVuN5mCYBSZhxFjU5TehtDa+Wd2USOVXawh6Fa7Ha/AAouNjG4P9TDaGlgPSvKP33fdoB9UsrtTW90phd1Qv2G0RHa9Gx+YME6fjtn+7+/FbKcvhJftBzrB7S0HOdt7AAAA//+t5YFY0QIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.post.json", "\"H4sIAAAAAAAA/7yRwU4EIQxA7/MVDXrcGe7zE5r1aDzg0NnthgUsxWSczL8b2KxBEw8a44EDbXmvLWsHoG7JqhHUUSSOWr+RUI/2gINHmUP2lpeBgk7TEc8m6YT8ShPWkp5DFuQ+BkfTMsSQZDil4NWucGWJWMDh+YSTXGLGWhIK3rh7DhFZCJMaQThjzTO+ZGIsDT12AADKmzOqDuCp5mP7am0qrrcyD+NcvBZn8tWWBuNc7exGN1F9ZQNsuwsr4dl4oanlWZxNdqJG8Nm53c81H9BPqrLAfd3fPrhmnr8wGmaz3M0PwuQPfYF8HbN+4v+LxRy+Ea7bL3QF11q6crb3AAAA//9c9J3G1gIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-edge-router-policy.put.json", "\"H4sIAAAAAAAA/7yRwU4EIQxA7/MVDXrcGe7zE5r1aDzg0NnthgUsxWSczL8b2KxBEw8a44EDbXmvLWsHoG7JqhHUUSSOWr+RUI/2gINHmUP2lpeBgk7TEc8m6YT8ShPWkp5DFuQ+BkfTMsQswykFr3YFK0vEwg3PJ5zkEjPWklDwxt1ziMhCmNQIwhlrnvElE2Pp57EDAFDenFF1AE81H9tXa1NxvZVxGOfitTiTr7Y0GOdqZze6ieorG2DbXVgJz8YLTS3P4myyEzWCz87tfq75gH5Slf3t6/r2wTXz/IXRMJvlbn4QJn/oC+TrmPUP/18s5vCNcN1+oSu41tKVs70HAAD//9phr5vVAgAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.patch.json", "\"H4sIAAAAAAAA/7ySMU/7MBDF934Ky///mCZ7RsQOgrFiOOJLe5VzNvYZKVT97shuaF0JBhBiyHAvfr/3fPJhpZT+T0b3Su9EfN91byS0RrPFllFGl9iEuSXXxWGHE8QuYnilAdfeWRrm1oMMu3YfHesmw2T2mGnueY+DnDQwhoQcg70PzmMQwqh7JSFh+R/wJVHA3GKzUuqpiL4+mnsqpRkmPE+5ecAxhxkciUtEbMHaUudfV6lddq45WauL99icgEvbM3CZN8uslI4SiLe6uSgXylK1qMhpunbeEtjad0NsqjljPihXnSJOwEJD3cvgCMmK7out+f79z9CrKDLIQjI/OFut+TfyIASY78bHsr1PFr+8or8PFth+EXg4/iAu4+qUVf6O7wEAAP//5IOqolcDAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.post.json", "\"H4sIAAAAAAAA/7ySMU/zMBCG9/yKk79vbOM9I2IHwYg6mPjSXuWcjX1GClX/O7JpKxeJAYQYMvjse573Tjl0AOo/WTWA2omEQes3Elqj3WLPKJPPbOPSk9dp3OFskk4YX2nEdfCOxqUPPkm/T57VqrBkCVhg/nmPo3zUjLUk5Nm4++gDRiFMagCJGet9xJdMEUuIpw4AQLGZsfaeiR3Apr4NLeHQvD6fyjwRp5LB4kRczak3ztWU/3RT1bWzth1bW8M6z5MkEm9PmQAUcp4veWvlloy73AOoG2KrTsfNlSPhbFhobD0WJ5OdqAE4O7f6/igX6JWKLLKQLA/eNRv7DZ+J0Sx302Pdy7pA1Kch62/y92Ix2y+Eh+MPdAXXWrryHd8DAAD//9FavMI4AwAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service-policy.put.json", "\"H4sIAAAAAAAA/7ySMU/zMBCG9/yKk79vbOM9I2IHwYg6mPjSXuWcjX1GClX/O7JpKxeJAYQYMvjse573Tjl0AOo/WTWA2omEQes3Elqj3WLPKJPPbOPSk9dp3OFskk4YX2nEdfCOxqUPWfp98qxWBSVLwMLyz3sc5aNmrCUhz8bdRx8wCmFSA0jMWO8jvmSKWDI8dQAAis2MtfdM7AA29W1oCYfm9flUxok4lQwWJ+JqTr1xrqb8p5uqrp217djaGtZ5niSReHvKBKCQ83zJWyu3ZNzlHkDdEFt1Om6uHAlnw0Jj67E4mexEDcDZudX3R7lAr1RkkYVkefCu2dhv+EyMZrmbHute1gWiPg1Z/5K/F4vZfiE8HH+gK7jW0pXv+B4AAP//hjEdGDcDAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service.patch.json", "\"H4sIAAAAAAAA/7yPsU7DMBCG9z7FyTCm8Z6NJwCpY9XhGl/Sq1w7nM9Ioeq7I7sVDRIMMDBkuIvv+/7/vAIwj+xMB+agOnXWvrPymtxIbSAdYg5O5pajTf2BTphsInnjnlI7ofaH9phiME3B6DxR4cT9kXq97tA5Vo4B/YvEiUSZkulAJVP9L/SaWaj4tyuAXV1Oy6clIYAJeKLPqWQWGorM0cChKlKL3tc4D3axteVyHbL3pt5emitQSU4cUKNsVFBpnJf4W5ftbQYwSYXDaJr75s4E2H1hS/T0pCq8z7ooATUuZq+mg3Ld/L4NiuD8PGxqmm9q9TEMPP6vU/En4fnyB13BLS2r8l0+AgAA//+PRRdSqgIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service.post.json", "\"H4sIAAAAAAAA/7yPMW7DMAxFd5+CUDs61u6tJ2iBjEEGxaIdBorkUlQBN8jdCykxog4d2qGDBpLie5+XBkA9k1U9qKPI3Gv9SUIbtBN2HmUMyVteOgo6Dkc8m6gj8gcNGLs5ROlOMXjVZoosM2ZMOJxwkFvPWEtCwRv3xmFGFsKoehBOWOaM74kYs37XAAAob86oGoB9mc/11qX6sVY5PeOYvRZH8sUWO+NcSfakq65e2QDX9sYS5DN5I4G3wkZwWmry/aLdvQZQUZj8pNpHxyfn1L3cf2NzcPgiwnRIUuWHktQkJ6qHvN3+/hDDbJbXcVvSbB4RVvUQ/EjT/zrF/CS8XP+gy7ja0uR3/QoAAP//rYIGpa8CAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/service.put.json", "\"H4sIAAAAAAAA/7yPMW7DMAxFd5+CUDs61u6tJ2iBjEEGxaIdBorkUlQBN8jdCykxog4d2qGDBpLie5+XBkA9k1U9qKPI3Gv9SUIbtBN2HmUMyVteOgo6Dkc8m6gj8gcNGLs5SXeKwas2Q2SZMVPC4YSD3HrGWhIK3rg3DjOyEEbVg3DCMmd8T8SY7bsGAEB5c0bVAOzLfK63LtWPtcrhGcfstTiSL7bYGedKsidddfXKBri2N5Ygn8kbCbwVNoLTUpPvF+3uNYCKwuQn1T46Pjmn7uX+G5uDwxcRpkOSKj+UpCY5UT3k7fb3hxhms7yO25Jm84iwqofgR5r+1ynmJ+Hl+gddxtWWJr/rVwAAAP//WGvSsq4CAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/session.post.json", "\"H4sIAAAAAAAA/1yPvU7FMAyF9zxFZDGWZO+IWHgGxHBpzL2uWifEDlJBfXcU+kNgPF98vthfxlq4owC9hZtq6r3/JKV7DFd0jPoWC4e8OIpehhvOF/GCIhRZXIqibpTI0FWLLgmrJr6OOOjGUo4JsxIK9Lb+ZS0I5g8a8CmcqCmLZuIr/OC1M+3b/9nnPduz1f0SLtMEe3w5OCCX+W/zkS5T23sgDk2umsOy7WT2vSDje6GM4fQ1h5k6vn4HAAD//4TdzLNcAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.patch.json", "\"H4sIAAAAAAAA/6yRMW7DMAxFd59CUDPG9u5TdA8yKCJtM1AklaKGtPDdCylGY69NBsPgJ/E+9fnTKKUPBHpQehaJQ99/k1CLMGHnUcaQPfC9o9AnO+PNpF6Qb+SNBO6iETt31xS8PhaQ3CMWUrhc0cpDMwAkFLxxnxwishAmPSjhjLXP+JWJsWxwapQ6VzFuR8uOZTBkQf6rn3antVZKJ2HyUzVeFZ+d02t5rv/l0dUX8lCG3wY0AIwpvQ9oQ5It7cA4lngBR/I11NQZ5+oBPvqNurlRWyE7bGS0COgtvgzfoHYWYqZdDoCjya4+Zjn+w9FMqX3mtDTlW34DAAD///DdHuy8AgAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.post.json", "\"H4sIAAAAAAAA/5yRQY7yMAyF9z1FlJ8ltHtO8e8Ri9C4xSgkGdsZiUG9+ygZOiSaDWLRhV+fvxfb904pvUGr90qfReJ+GL5QcAd2ht6DTCF5S7cew8DjGa6GBwG6ojcSqI+Bpb9w8HqbOXKLkEHhdIFRfjRjLQoGb9x/ChFIEFjvlVCC8p/gIyFBfsChU0opzUCfOEJpz4aQBGitjLUEzLpT6lj6Y029t4RVqJ7GQuhnXeSlTXjRfUJvs/jXfnjU6rdx+1R8ck4/ymMDXEd6MX8MLLV3QzBlr4UJfVk198a5cpZ/Q6VWh9sVSIONBCNY8O3a3oJXqCZCzNxMaWEyyZVhlu0biWbm3XOtS5e/5TsAAP//25UF0NECAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/terminator.put.json", "\"H4sIAAAAAAAA/6SRPW7DMAyFd59CUDMm9p5TdA8yKBLtMFAklaQKpIHvXkiNGxldinbwwOf3Pv7o3imlN+j0XumzSNoPwwcK7sBN0AeQMebg6NZjHNie4Wp4EKArBiOR+hRZ+gvHoLeFI7cEBRRPF7DypRnnUDAG418pJiBBYL1XQhnqf4K3jARlgEOnlFKagd7RQo0XQ8wCtFTGOQJm3Sl1rPnUUu+ryFI3k7EQhklXeX4gTxhcEX/aD49afQe3TyVk7/WjPK6Ay4y/7G8jS+vdEIzF62DEUG/HvfG+3vllaNTmJXYVssImAgsOgoV/wxvUqoWYabWlg9FkX5eZt3/oaCbePc86d+WbPwMAAP//sqYrZaICAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.patch.json", "\"H4sIAAAAAAAA/5zOMW7EIBAF0N6nQCTlGnqfIleYhWE9KxbQMBSbyHePBkuR6xQUfPQf/2cxxn5StJuxu0jbvP8moRXjA11BSXWUyG9H1few4wu6T3BnCivXIcjdNZCwu2evxd4Uk3dD1er9iUHODGIkoVogf3FtyELY7WaEB873dk11kjG2wAv/bjqSMakbMVGZWneQ8/z5w19Sr821jJzt7B63ExR49P+B2ryCi55j+Q0AAP//uFLZijwBAAA=\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.post.json", "\"H4sIAAAAAAAA/5yPsXIDIQxEe75CQ1L6oL+vSJ9JgQ+dLQ9GRBKF4/G/ZzjHM1enoGCXfbvcHYB/p+xn8GezNsf4Q0YT5hOGirZyr1lugTjqcsZr0rimo9AyCXdD0dBYLVyUqz8Mlt0aDhgfL7jYU0s5kxHXVD6EG4oRqp/BpOPmC353EhwjPh0AgK/pit4BfG1+26fuuxev2/iD4Dp6M65UtzYNqZRt2VvcqfHFBngcnixLJ/0faySn2kv5A7pxHu43AAD//+YEIOVWAQAA\"")
_ = packr.PackJSONBytes("../embedded", "api-schema/entities/transitRouter.put.json", "\"H4sIAAAAAAAA/5yPsW7EIAyGd57Coh17sOcpulcduGDuHCVAjRnSKO9eQRWJ+QYGjP/v/zgUgH4nryfQT5E8WftLQjf0DzQRJaQaPe+Gki3zEzdXbHB3pvnGqQpyMbmKWUqK+qOhZM/YWOm+4Cz/M+c9CaXo1k9OGVkIi55AuGJ/Z/ypxNgcvhQAgI5uw55tRPcoWgF89908Eo5h+7q17zCG5uAxUOzNxbh17ZZvdpjanuyxc2x7iXV5ApyqnVP9BQAA//+mADgbXAEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180828083820_init-schema.down.sql", "\"H4sIAAAAAAAA/1SNMcvCMBiE9/dX3BDI9y3+geJQk7c2YFNpInYrQaNmaAuayV8vtCB4yw13D49uIQTteG8sEWAqcG+cd3+EJY4PrDxel0ccwzCFMaLq2gZpus3PMeQ0T8M6btbKAeeaO/5BtpDvlNMQr/coCfgnwNdsFwn3rE6eIXXXHuFUzU2J7x2qdKrULAsC2GqYqiBiq0mI4hMAAP//7wIpBL4AAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180828083820_init-schema.up.sql", "\"H4sIAAAAAAAA/2SNsUrGMBzE9/9T3BCILr5AcIjJ1Qb8UkkiflsJGjVD+4F28umFFgTxlhvufvz8BKXkjvchigBhAM8hl3wl2JP5QFfw9fLRljqvdWkY0nRCX98un0vd+mWdj/HmqK3ieWTiH+QW+rtvfW6v700LcC1AGRl3Cc90T4XQPk2PyG7kyeL3Dmezs57aCMDoEQYjwuhFKSPiEm3hP8r8BAAA//+lS2Hg2AAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180905100347_initial-tables.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20180905100347_initial-tables.up.sql", "\"H4sIAAAAAAAA/+xZTW/jNhC9+1fwtg6wKZxgU7Tbk5sohdHUab020D0RtEQ73MikINFxskX/exFbEknxQzJFL4pFeEpMcjiaee8NR7qeReN5BObjX+8i8JVwAnGyxj+sMYM5XhNGCzAcAEASUI3FYnID/pxN/hjPPoPfo8/APKb3czBd3N29HwBA0QaXPz+hPH5A+fDy6urMsrO5O84x4jiBiANONrjgaJOBHeEP+3/BV0YxuIlux4u7OaBsNzxTdm+zpMdujtZF6dKXglGHx03Pa6Pv/vn3Hfj4cb9/OTj7ZTAYWIIeo2LQCLZpbLck8U+AaYikjLomZUXoGudZTih3Wby6uOycZpxzmOGNZSnHz8aTHBZJAZ9wTlYEGwO6ZCzFqDWnssWDuRhxwijk7BGruz2emhQQbTmDMYKY5ixNN5hyiClapq9ee/hICsg4txn0tIi2/EEyogwPixKlTaMfzQNZlKhvGuHkoFSDxXTy1yICk+lN9DeIUQElikG4JTTBzwMA7qeqYoChtM6lLiTBlBP+AvlLhjWhCaPqF6POAvLdqbopjWrMIUlsiVQXgiFJJJOWTBI9iyFyqWb0iJKgPAMkycGP7rEtpSbBK7RNOUTJhtBaXKq4r1BaGEpZU672e6vhYUMTqBCSFEKEvgleSResEoHT8d08mrlgCsD45gZc308/zWfjyXSuHqRxZPUIbu9n0eS36R6+wyayzsAsuo1m0fQ6+tRKIiuNClwUpguuD3/ku4AP7CvP/Vgjo7UnUHtiNBw8zZiqcqYjqpqBUiwdSGoDEdFUWCFKfdo+8TamCITtlzkkPU63Bcf5W7MVHEe2BhdxvEMvOvlBn9iXaYSqwX3D1v1h7A2bRz7NfZq4r11+cFhyt2ZdOzJnN+ZX3xlNCVWXeRgSLzlgk3LdH0tqsqQi4G/ky64O6pEBlox0YXGrEfyckRwXHkbM7V2wri5YM3fqalWJjF6tqhkoFEMvVmLOUqtE1XDdwzp4oTBBd0SZtviivDF0ti9ZzjiLWappby1vozOX7r4Vu2OL3QotcxJX1+K3oIcNujvqxhtG/w7d5yogUPBa7+TEd00doyuyrqeChNBQL/oXiv4V4tSloQSHrsnlBFSzpWuyOm8RZZX4ZT9sbYfzJxLrAhECrh5oTWgBH1jBD4YEWD/85LqwNgxkLC9vDoRyvMZ513xKfClD4dGWlwZK1pyILb3J0psrp+/5D8A09fyHGVinysqTForU7Dg/B3O0TDEgBUhwluP4NVQAFYCtwOXo4ufz0Y/nF6MWEkH1jlP9+golGUdyTKsdTWmu1rQHSBxqjZRYAmH2qFB6KJx8LzsT+Fhxip4qMWfJlZCo4H5JT6w7JofD7JmU704qC5UXPhI+9vCwvFJQ5jrgoTrD/vzVCjcapD4k5JnfEApHeBW0IbOhgGK+Y/kjtL2C7vcG2qNUlY54vn9u4ve43U2EH7n7e2snzEhuIkZHcnMFFDk18auas/KrQqaLX15enZz1Hl4FZb3pg4F2ovPDga4PbR8QUJbBHaLSF+EWDdEu6y139P8V51rY5maZWkLd8YSNb+3iZ6CXau0rXodabThHQ6u+Rq/XYs172Y/gBwf/uhbUO/GT7pyYs/hWUaiteFeG6r6kAQwNF7brXQdY2Huf5go3JCRlDXlm/ccJ1dzDraAw+C8AAP//2ry6/CIrAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20181016142716_default-data.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20181016142716_default-data.up.sql", "\"H4sIAAAAAAAA/8zXXW9bNw8H8Pt+igPfpAXCBxJFiSKeq6DNgG5tNyzNBuwmoCQqPUBqe/Zxh/bTD8dNh6xvW98WX8mCb36i+Kfsh0/OTn9+Ojx88vTHYfFqnMYLa5e2+N9ibLacxunlxfRybdvFcHcxtsXxsFjqc5vXujGdrF3oNO926/Zmd+/OLyePzk/PhrtHkdk76gjeggIJMaggA4ccilovVfToeDg639rm6Hh4cPrdyfmjp399uPf/O3e+ra/E0AsJRF88kGYGJSOw1lTYJxV2s++BvRir3YawUkupS4NuPgN5CpBjC8AUUGokzFhm4ZltPoe43qymVV1dfYrueFhMerm9qZyutjPi9fI24D+V/L4b60y5Xm/VMtX1vir75aOSj1i6ls1YP7mF3sN5NcFat9vp2Wa1u3w2y3762/bzavVVfUudxhdzEx/9Nk7j8OTN9kto71HdMF+8/qauln28/FRx74V88QQtBgFqxUFO0YNV3xKSyw7Du3V+9yI+eLy3muTDR7201cXGLsfV8gsvQZ1hRekggghEIYJmZYitdC5NMDDPZ7ivS2063LfltNGrz76ir+eulEQ4gHexAjXzID146L1Xx0yZ+35Onp8Nv9p2un0whuSIpUGtLgMhEpQWE1AoqolRe9g/Pd/rWpe3z7XWXMquQ9BCQGIJpJUINWWMuShl12buyW47N8Sot0+O6DW0IpA9OaAcCZQzQvK1xBa6Odqn82y1m54NJ89tM9YDYOdAqFUbkJEAOcmQqRlklG4lxhbivjF+WG3sALglxoTFR+jdCpB4B6V7AnXBJe5SFe06eI/H9sdBZC9ZN8wagYkMKFGD4omBHKP1wkm6uzHkDmNgeFdTT5RBsPCcQIRikqAnDJFNI2Of0ae7zWptB4JmFEoYPfheGaiEAjmmDDVKI8Zg7Gg/NvphhI8dhdxSAOESgHJBUCsRiktJJWKimG4U+VQPocgWgrQkAtyjBzKpoFgVsmd05rh7SdcR3M+6fxB/e7BzMSd2ARJTBqqcIYtrYF3Rp47eeriRv8Oocgqd0bkCzEJAmuYkqoKGZC2EbLXs/8uebA/h8evirVYNkHrGucQFshcPps6FVI1L1OueOIzykhcU4wwpMQGxm3uiIUiRQKaSMuIMfjy2dnUoyYvNOcJSIPUWgSQKiFOGVKqyMwyd3yTvX/1S/jMAAP//ko/Ws40RAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190111165646_add-gateway-protocols.down.sql", "\"H4sIAAAAAAAA/3IJ8g9QCHF08nFVqMosyYxPTUlP1UtPLEktT6yMLyjKL8lPzs8pBgQAAP//QZ+dpyYAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190111165646_add-gateway-protocols.up.sql", "\"H4sIAAAAAAAA/6ySwW7iMBCG73mKuZFIq9UupxZObmKqqMFBxjlwstzEDS4QI9s0KlXfvSJSQipKS9XOzRp/vz95JqQYMQwM3SQY9sopLotS/i2Fk7V45lujnc712nq+B6AK6CrL4ghmNJ4iuoA7vICPi6QMSJYkfzyANvQQ0+BfVx9vXQ78kzD5Uhh/+C+4FFdVaaS1fGfWHX71/3r4SUAfz40UThZcOACnNtI6sdlCrdyyOcJeVxIiPEFZwqDStR+8w3fb4ie4E6VtrR6trr7xdV3q4OV1AKNRw997wdjzUMIwvWD2ACiKIEzJnFEUEwYnV/hxtpw/rGCSUhzfkmYx/GMvAIonmGIS4vnpixZ8VfyyV29pTsV6zTNmXVCrdsatkq7WZsWttFbpykJE0xmEaZJNCeTrnXXScFWMvbcAAAD//8IbvktwAwAA\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190116092021_add-gateway-hostname.down.sql", "\"H4sIAAAAAAAA/3L0CXENUghxdPJxVajKLMmMT01JT9VLTyxJLU+sLFZwCfIPUHD29wn19VPIyC8uyUvMTbUGBAAA//9B3XIDNAAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190116092021_add-gateway-hostname.up.sql", "\"H4sIAAAAAAAA/3L0CXENUghxdPJxVajKLMmMT01JT9VLTyxJLU+sLObidHRxUcjILy7JS8xNVQhzDHL2cAzSMDU00rQGBAAA//8EAu9EOgAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190429142248_add-enrollment-table.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190429142248_add-enrollment-table.up.sql", "\"H4sIAAAAAAAA/7SSwU7DMAyG730K37ZKCA0kOIyHibLm72qaOlXiMjrEuyNoC5k0wZDAN0f5P3+JXEVYBandedCRlQ3cHteQGLzvIJqKdUFExI4+axjy7oeSoCSD98VyUAVJGi2LUjbG9C3GIg/2kTsbR2oxXs0KEGUdDbv/UcgGGFO3JzYRNSKkQsq+aQ4w0mSooYXMgScbq8bG9c1mU15sOGE6aBPcKeb27v63GDz3HJGMVSLlDklt19OBtflo6RgEF2CmFXHfYxxqO3glCYd1eRYz9O4vMGr3afF8TEHOPmDBrF5eV9vt+7Xd1xKUD8VbAAAA//9/FrPN9gIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190502145944_add-authenticators-table.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UssLclIzSvJTE4syS8qtgYEAAD//4CpwcskAAAA\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190502145944_add-authenticators-table.up.sql", "\"H4sIAAAAAAAA/7SRQUvEMBCF7/kV77YtiAdBD+uPCbPJdDu2TUoycemK/13ctlpBEcGd2ySP9728uMSkDKVDzziLimV/5Fsq2nJQcaQxZVMZABCPjyllu/06ISpC6XuzHrgYsiaSoPjKsmPHE8YkA6UJHU83C/tdopMVf0X2hmJt0yFxw4mD47zpZhEJ5znawNrGJdAzJddSqu7uH+o/RJuN5r/wlhRQGTgrDSNOou1lxTkGhueGSq8I8VTVPxiV0f+PkdIxrzdPOYZvH7Ea7V5ed9jvL8LDZ+v1ozFvAQAA//8sfwwlZgIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190525131603_add-network-session-certs.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1ctLLSnPL8qOL04tLs7Mz4tPTi0qKbYGBAAA//82ylRcKwAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190525131603_add-network-session-certs.up.sql", "\"H4sIAAAAAAAA/6SR3UrEQAyF7/cpcrddEEHBm/Vhhmwn7ca2mZKkW7viu8u0ULEq+JO7OXO+yRlOqYRO4HhqCa7sHCjWdCvkY9ImGJlxklCSuu2KHQAARxgGjiDJQYa2ncU8ZRJzRRaHL/nQNzSt7jy9coc6QUPTzXyx5f66K2xECxxDqJoP25UqUpKS7Puf25IrvwlOz74mWfSKpSbtNee4oJZn1OLh7v6wsV2w5RgqTR04d2SOXQ8j+3k+wjUJQaQKh/Yz5ek3zNJnDOg/oNJYbJMOffwX71gbPFmS1bV/ed0fj1k6vdd4eNy9BQAA//+82trHegIAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190710140702_add_event_log.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UstS80ric/JTy+2BgQAAP//TM0ZTiAAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190710140702_add_event_log.up.sql", "\"H4sIAAAAAAAA/6zTzU6DQBAH8HufYm6FxHgw0UN9mM2UndK1MEt2/7RS47ubQEGwagQ7N3bIbz6SyYIwhMDbQujs4IzYXO7lKApT+DyukhURkbM0jbq+evot1IO0LopV/5B5jQjsFPRZzFQHaagKruTQ0EGau/Z/NJVMtCOHbM8heXh8SmcU7zTO4IMZm3O5L9R4EYspUTg047b+S43aWkztfCgZEGtKiZFzIcgr/kAM1GT1HWcigtO8zd+Cswy+5OdyAzUyuniJXrdLpO6irOG+EbhSIris6OSwbz/p7FXIyo7rAqT+lKQ/jFhX9oYaOI9XU347T6+t397XtNlc1jFccfr8EQAA//9L+SBxOQQAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190711152500_add-service-hosts.down.sql", "\"H4sIAAAAAAAA/0opyi9QCHF08nFVqMosyYxPTUlP1StOLSrLTE6Nz8gvLim2BgQAAP//Ai0zFCMAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190711152500_add-service-hosts.up.sql", "\"H4sIAAAAAAAA/6yR0UrDMBiF7/sU57KD4QvsKrZ/JZilkqbgrsJcsxlaktEERZ9eVibbdOjNbnMO5/vIXyhimqDZvSB8uuSM7Xb2LtrxzW2seQ0xReQZAHy/uQ5oW15C1hqyFWI+xa6zPrn0ccgv4my2yDImNKm/MdMKK0sUtWy0YlxqXBSM2fd4UnzJ1AqPtEJ+Upqf828GPO0bs+1R1Yr4g/zJnkFRRYpkQc1vVkR+Q6P9GFLYhOGq0vkXXHc6Ntx/Vt6m9zD2JtoYXfDxKCXapQSvptPSM290g4OW8zu8hDDYtUdJFWuFxnY9RLvIvgIAAP//QNzU42ACAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190715170856_remove_fabrics.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190715170856_remove_fabrics.up.sql", "\"H4sIAAAAAAAA/5yQwUo0MRCE73mKvu3/X0TEg5CHCT1JJxM2dg/dnZX16WUVB/Qgo+eq76MoHE4KjssgeO3eE5VGd0Z66ZksAAAUlQ2ysLliZ4fPMFVctOfUS0r1HMNx1ZjPDDsdwx/RLFx7O4ZjKTCoYb6mDc18VZlthUVkQKGKczhUHEbA4sBzjONe4rJJZ09YipIZXFDzivrv4f7x6f8vPO1GJ5V5q3+R7Kv2safJZ5YXPsUQwvs53/0fL1n8KU1+3cjiWwAAAP//bqwnJQYCAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190729141132_remove-gw-status-col.down.sql", "\"H4sIAAAAAAAA/wTA0QnCQBAE0P9UMRXYgMWEiTcJC+MueHuIVp9Htz5oHhb+0bFrXHpcbH35m+AYeJXXOxFzr3SkcFRZTGQ1ctkYOrncOOmp57bdAQAA//90sbWwVQAAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190729141132_remove-gw-status-col.up.sql", "\"H4sIAAAAAAAA/0rMKUktUihJTMpJVajKLMmMT01JT9VLTyxJLU+sLFZIKcovUEjOzynNzVPILI7Pz8vJzEu1BgQAAP//kEeLtzUAAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190731134126_drop-gateway-protocols.down.sql", "\"H4sIAAAAAAAA/6zSQU+zMBgH8Duf4rkNkjdv3BITnac6OkNEZrpy2KnpaGVVoEvbuTjjdzcjgW0ydUafG3ngxx/6HxGMKAaKrmMMG+UUkyKX/3Pu5Jq/sKXRTme6sJ7vAQAoAe2kaRTCPYnuEJnBLZ7B8UkmFJI0jv/VQANvoRr4fg6BJtFWeOYmW3DjD86C0wFV5UZay1amaIGL/uXgC+IQyIzkTgrGHYBTpbSOl0tYK7eoL2GjKwkhHqM0plDptR98AFZL8TvA8dw22R6trn7wE1u39/rWg+Gwfn7uBVeeh2KKyQlN2HIoDGE0SaaUoCih0LmJ7c6ZsYcnGE8Ijm6Suib+bhcAwWNMcDLC0+47LfhK/HmyvQJ1o+0tP8nWQk04XjhpwPF5IY99AhcCMl2sygoW2rqKlxLa3p33B8F7AAAA//9duGeiggMAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190731134126_drop-gateway-protocols.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UtPLEktT6yMLyjKL8lPzs8ptubiSswpSS3CpbJYAWxOcn5OaW6eQkZ+cUleYm6qNSAAAP//wNeyyF0AAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190826091630_remove-service-protocol.down.sql", "\"H4sIAAAAAAAA/5SRywqDMBBF9/mKWSpIKd36MSGNow2mmTAZLfbrSyw+QOhjlsnck3OJZTSCIObqEZ5OnMamw1NCHp1FHZmELPmkCgUAsJy7BobBNRBIIAzez5d5LIUkbFwQODD0lta67ddMHsYWGYPFdLRI1by6cPLjo2F7M1xczuWfDjvKbxJr9G3xEa7jBozs7oYn6HGCYmte7XuUqqyVMl6Qv38B0CPkPYJISTrGVCv1CgAA//8X4WOAwAEAAA==\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20190826091630_remove-service-protocol.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1StOLSrLTE6NLyjKL8lPzs8ptgYEAAD//wnoAAMnAAAA\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20191008091800_remove-protocol.down.sql", "\"H4sIAAAAAAAA/8SQQUvDMBzF7/0Uj1zawhgi7DJPVSMUayddKuw0Yhu2yNrU9j8HE7+7pNQOIu4i6P/y+g6/8su7yXgkOER0nXAcNem1Kjdq2rSGTGF2HQIPAHSJr3uTbbGVbXB5EeIxix+ibIV7voJz6UIgzZNk0vO1rJTLz2ahC/3IF62SpMq1JJCuVEeyanDQtO0rjqZWuOV3UZ4I1OYQhA6/b8pf8SQ33SD20pn6jLfrP/7Wf//wMZ/3/LMXXnlenC55JhCnYgE2bs+mbFyfIWC6ZBMwO6DN0xC2nZ5lm5VkofcUJTlfIvBp1/kTDDFofP/4C5PXvS6sypD/6kJF06/SxxmTzwAAAP//G933TRoDAAA=\"")
_ = packr.PackJSONBytes("../embedded", "db/postgres/migrations/20191008091800_remove-protocol.up.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1Ssoyi/JT87PKbYGBAAA//+IBLuXHwAAAA==\"")
}
-29
View File
@@ -16,10 +16,6 @@
package env
import (
"github.com/Jeffail/gabs"
)
type EnvInfo struct {
Arch string `json:"arch"`
Os string `json:"os"`
@@ -33,28 +29,3 @@ type SdkInfo struct {
Type string `json:"type"`
Version string `json:"version"`
}
type Info struct {
EnvInfo *EnvInfo `json:"envInfo"`
SdkInfo *SdkInfo `json:"sdkInfo"`
}
func ParseInfoFromBody(body []byte) (map[interface{}]interface{}, error) {
container, err := gabs.ParseJSON(body)
if err != nil {
return nil, err
}
return ParseInfoFromContainer(container)
}
func ParseInfoFromContainer(container *gabs.Container) (map[interface{}]interface{}, error) {
info := map[interface{}]interface{}{}
envInfo := container.Search("envInfo")
sdkInfo := container.Search("sdkInfo")
info["envInfo"] = envInfo.Data()
info["sdkInfo"] = sdkInfo.Data()
return info, nil
}
File diff suppressed because one or more lines are too long
@@ -19,6 +19,7 @@ package routes
import (
"github.com/google/uuid"
"github.com/michaelquigley/pfxlog"
"github.com/mitchellh/mapstructure"
"github.com/netfoundry/ziti-edge/controller/env"
"github.com/netfoundry/ziti-edge/controller/internal/permissions"
"github.com/netfoundry/ziti-edge/controller/model"
@@ -68,6 +69,42 @@ func (ro *AuthRouter) authHandler(ae *env.AppEnv, rc *response.RequestContext) {
return
}
if identity.EnvInfo == nil {
identity.EnvInfo = &model.EnvInfo{}
}
if identity.SdkInfo == nil {
identity.SdkInfo = &model.SdkInfo{}
}
if dataMap := authContext.GetDataAsMap(); dataMap != nil {
shouldUpdate := false
if envInfoInterface := dataMap["envInfo"]; envInfoInterface != nil {
if envInfo := envInfoInterface.(map[string]interface{}); envInfo != nil {
if err := mapstructure.Decode(envInfo, &identity.EnvInfo); err != nil {
pfxlog.Logger().WithError(err).Error("error processing env info")
}
shouldUpdate = true
}
}
if sdkInfoInterface := dataMap["sdkInfo"]; sdkInfoInterface != nil {
if sdkInfo := sdkInfoInterface.(map[string]interface{}); sdkInfo != nil {
if err := mapstructure.Decode(sdkInfo, &identity.SdkInfo); err != nil {
pfxlog.Logger().WithError(err).Error("error processing sdk info")
}
shouldUpdate = true
}
}
if shouldUpdate {
if err := ae.GetHandlers().Identity.PatchInfo(identity); err != nil {
pfxlog.Logger().WithError(err).Errorf("failed to update sdk/env info on identity [%s] auth", identity.Id)
}
}
}
token := uuid.New().String()
configTypes := mapConfigTypeNamesToIds(ae, authContext.GetDataStringSlice("configTypes"), identity.Id)
pfxlog.Logger().Debugf("client %v requesting configTypes: %v", identity.Name, configTypes)
@@ -48,6 +48,8 @@ type IdentityApiList struct {
Authenticators map[string]interface{} `json:"authenticators"`
Enrollments map[string]interface{} `json:"enrollment"` //per original API "enrollment" is correct
RoleAttributes []string `json:"roleAttributes"`
EnvInfo env.EnvInfo `json:"envInfo"`
SdkInfo env.SdkInfo `json:"sdkInfo"`
}
type IdentityApiUpdate struct {
@@ -227,6 +229,8 @@ func MapToIdentityApiList(ae *env.AppEnv, i *model.Identity) (*IdentityApiList,
RoleAttributes: i.RoleAttributes,
}
fillInfo(ret, i.EnvInfo, i.SdkInfo)
err = ae.GetHandlers().Identity.CollectEnrollments(ret.Id, func(enrollmentModel *model.Enrollment) error {
var err error
ret.Enrollments[enrollmentModel.Method], err = MapToIdentityEnrollmentApiList(ae, enrollmentModel)
@@ -258,6 +262,30 @@ func MapToIdentityApiList(ae *env.AppEnv, i *model.Identity) (*IdentityApiList,
return ret, nil
}
func fillInfo(identity *IdentityApiList, envInfo *model.EnvInfo, sdkInfo *model.SdkInfo) {
if envInfo != nil {
identity.EnvInfo = env.EnvInfo{
Arch: envInfo.Arch,
Os: envInfo.Os,
OsRelease: envInfo.OsRelease,
OsVersion: envInfo.OsVersion,
}
} else {
identity.EnvInfo = env.EnvInfo{}
}
if sdkInfo != nil {
identity.SdkInfo = env.SdkInfo{
Branch: sdkInfo.Branch,
Revision: sdkInfo.Revision,
Type: sdkInfo.Type,
Version: sdkInfo.Version,
}
} else {
identity.SdkInfo = env.SdkInfo{}
}
}
func MapToIdentityAuthenticatorApiList(_ *env.AppEnv, authenticator *model.Authenticator) (interface{}, error) {
var ret map[string]interface{}
switch authenticator.Method {
+15
View File
@@ -420,3 +420,18 @@ func (handler *IdentityHandler) QueryRoleAttributes(queryString string) ([]strin
index := handler.env.GetStores().Identity.GetRoleAttributesIndex()
return handler.queryRoleAttributes(index, queryString)
}
func (handler IdentityHandler) PatchInfo(identity *Identity) error {
checker := boltz.MapFieldChecker{
persistence.FieldIdentityEnvInfoArch: struct{}{},
persistence.FieldIdentityEnvInfoOs: struct{}{},
persistence.FieldIdentityEnvInfoOsRelease: struct{}{},
persistence.FieldIdentityEnvInfoOsVersion: struct{}{},
persistence.FieldIdentitySdkInfoBranch: struct{}{},
persistence.FieldIdentitySdkInfoRevision: struct{}{},
persistence.FieldIdentitySdkInfoType: struct{}{},
persistence.FieldIdentitySdkInfoVersion: struct{}{},
}
return handler.Patch(identity, checker)
}
+84 -2
View File
@@ -25,6 +25,20 @@ import (
"reflect"
)
type EnvInfo struct {
Arch string
Os string
OsRelease string
OsVersion string
}
type SdkInfo struct {
Branch string
Revision string
Type string
Version string
}
type Identity struct {
models.BaseEntity
Name string
@@ -32,6 +46,8 @@ type Identity struct {
IsDefaultAdmin bool
IsAdmin bool
RoleAttributes []string
EnvInfo *EnvInfo
SdkInfo *SdkInfo
}
func (entity *Identity) toBoltEntityForCreate(_ *bbolt.Tx, _ Handler) (boltz.Entity, error) {
@@ -44,16 +60,80 @@ func (entity *Identity) toBoltEntityForCreate(_ *bbolt.Tx, _ Handler) (boltz.Ent
RoleAttributes: entity.RoleAttributes,
}
if entity.EnvInfo != nil {
boltEntity.EnvInfo = &persistence.EnvInfo{
Arch: entity.EnvInfo.Arch,
Os: entity.EnvInfo.Os,
OsRelease: entity.EnvInfo.OsRelease,
OsVersion: entity.EnvInfo.OsVersion,
}
}
if entity.SdkInfo != nil {
boltEntity.SdkInfo = &persistence.SdkInfo{
Branch: entity.SdkInfo.Branch,
Revision: entity.SdkInfo.Revision,
Type: entity.SdkInfo.Type,
Version: entity.SdkInfo.Version,
}
}
fillPersistenceInfo(boltEntity, entity.EnvInfo, entity.SdkInfo)
return boltEntity, nil
}
func fillModelInfo(identity *Identity, envInfo *persistence.EnvInfo, sdkInfo *persistence.SdkInfo) {
if envInfo != nil {
identity.EnvInfo = &EnvInfo{
Arch: envInfo.Arch,
Os: envInfo.Os,
OsRelease: envInfo.OsRelease,
OsVersion: envInfo.OsVersion,
}
}
if sdkInfo != nil {
identity.SdkInfo = &SdkInfo{
Branch: sdkInfo.Branch,
Revision: sdkInfo.Revision,
Type: sdkInfo.Type,
Version: sdkInfo.Version,
}
}
}
func fillPersistenceInfo(identity *persistence.Identity, envInfo *EnvInfo, sdkInfo *SdkInfo) {
if envInfo != nil {
identity.EnvInfo = &persistence.EnvInfo{
Arch: envInfo.Arch,
Os: envInfo.Os,
OsRelease: envInfo.OsRelease,
OsVersion: envInfo.OsVersion,
}
}
if sdkInfo != nil {
identity.SdkInfo = &persistence.SdkInfo{
Branch: sdkInfo.Branch,
Revision: sdkInfo.Revision,
Type: sdkInfo.Type,
Version: sdkInfo.Version,
}
}
}
func (entity *Identity) toBoltEntityForUpdate(*bbolt.Tx, Handler) (boltz.Entity, error) {
return &persistence.Identity{
boltEntity := &persistence.Identity{
Name: entity.Name,
IdentityTypeId: entity.IdentityTypeId,
BaseExtEntity: *boltz.NewExtEntity(entity.Id, entity.Tags),
RoleAttributes: entity.RoleAttributes,
}, nil
}
fillPersistenceInfo(boltEntity, entity.EnvInfo, entity.SdkInfo)
return boltEntity, nil
}
func (entity *Identity) toBoltEntityForPatch(tx *bbolt.Tx, handler Handler) (boltz.Entity, error) {
@@ -72,6 +152,8 @@ func (entity *Identity) fillFrom(_ Handler, _ *bbolt.Tx, boltEntity boltz.Entity
entity.IsAdmin = boltIdentity.IsAdmin
entity.RoleAttributes = boltIdentity.RoleAttributes
fillModelInfo(entity, boltIdentity.EnvInfo, boltIdentity.SdkInfo)
return nil
}
+54
View File
@@ -34,6 +34,15 @@ const (
FieldIdentityEnrollments = "enrollments"
FieldIdentityAuthenticators = "authenticators"
FieldIdentityServiceConfigs = "serviceConfigs"
FieldIdentityEnvInfoArch = "envInfoArch"
FieldIdentityEnvInfoOs = "envInfoOs"
FieldIdentityEnvInfoOsRelease = "envInfoRelease"
FieldIdentityEnvInfoOsVersion = "envInfoVersion"
FieldIdentitySdkInfoBranch = "sdkInfoBranch"
FieldIdentitySdkInfoRevision = "sdkInfoRevision"
FieldIdentitySdkInfoType = "sdkInfoType"
FieldIdentitySdkInfoVersion = "sdkInfoVersion"
)
func newIdentity(name string, identityTypeId string, roleAttributes ...string) *Identity {
@@ -45,6 +54,20 @@ func newIdentity(name string, identityTypeId string, roleAttributes ...string) *
}
}
type EnvInfo struct {
Arch string
Os string
OsRelease string
OsVersion string
}
type SdkInfo struct {
Branch string
Revision string
Type string
Version string
}
type Identity struct {
boltz.BaseExtEntity
Name string
@@ -54,6 +77,8 @@ type Identity struct {
Enrollments []string
Authenticators []string
RoleAttributes []string
SdkInfo *SdkInfo
EnvInfo *EnvInfo
}
type ServiceConfig struct {
@@ -72,6 +97,20 @@ func (entity *Identity) LoadValues(_ boltz.CrudStore, bucket *boltz.TypedBucket)
entity.Authenticators = bucket.GetStringList(FieldIdentityAuthenticators)
entity.Enrollments = bucket.GetStringList(FieldIdentityEnrollments)
entity.RoleAttributes = bucket.GetStringList(FieldRoleAttributes)
entity.SdkInfo = &SdkInfo{
Branch: bucket.GetStringWithDefault(FieldIdentitySdkInfoBranch, ""),
Revision: bucket.GetStringWithDefault(FieldIdentitySdkInfoRevision, ""),
Type: bucket.GetStringWithDefault(FieldIdentitySdkInfoType, ""),
Version: bucket.GetStringWithDefault(FieldIdentitySdkInfoVersion, ""),
}
entity.EnvInfo = &EnvInfo{
Arch: bucket.GetStringWithDefault(FieldIdentityEnvInfoArch, ""),
Os: bucket.GetStringWithDefault(FieldIdentityEnvInfoOs, ""),
OsRelease: bucket.GetStringWithDefault(FieldIdentityEnvInfoOsRelease, ""),
OsVersion: bucket.GetStringWithDefault(FieldIdentityEnvInfoOsVersion, ""),
}
}
func (entity *Identity) SetValues(ctx *boltz.PersistContext) {
@@ -88,6 +127,21 @@ func (entity *Identity) SetValues(ctx *boltz.PersistContext) {
ctx.SetLinkedIds(FieldIdentityAuthenticators, entity.Authenticators)
ctx.SetStringList(FieldRoleAttributes, entity.RoleAttributes)
if entity.EnvInfo != nil {
ctx.SetString(FieldIdentityEnvInfoArch, entity.EnvInfo.Arch)
ctx.SetString(FieldIdentityEnvInfoOs, entity.EnvInfo.Os)
ctx.SetString(FieldIdentityEnvInfoOsRelease, entity.EnvInfo.OsRelease)
ctx.SetString(FieldIdentityEnvInfoOsVersion, entity.EnvInfo.OsVersion)
}
if entity.SdkInfo != nil {
ctx.SetString(FieldIdentitySdkInfoBranch, entity.SdkInfo.Branch)
ctx.SetString(FieldIdentitySdkInfoRevision, entity.SdkInfo.Revision)
ctx.SetString(FieldIdentitySdkInfoType, entity.SdkInfo.Type)
ctx.SetString(FieldIdentitySdkInfoVersion, entity.SdkInfo.Version)
}
// index change won't fire if we don't have any roles on create, but we need to evaluate if we match any #all roles
if ctx.IsCreate && len(entity.RoleAttributes) == 0 {
store.rolesChanged(ctx.Bucket.Tx(), []byte(entity.Id), nil, nil, ctx.Bucket)
+10 -10
View File
@@ -7,14 +7,14 @@ import "github.com/gobuffalo/packr"
// You can use the "packr clean" command to clean up this,
// and any other packr generated files.
func init() {
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20180905100349_initial-tables.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20180905100349_initial-tables.up.sql", "\"H4sIAAAAAAAA/+RUwXLTMBC9+yv2VmeGYcq1PYlYAQ9GAdVm6Ekj7G2itpEz8pqEMvw7Y5MIp3WDPYETOtma1XtPem93KjlLOaTsdcLhwZBRWCzwpa5piZZMrql0KkdHVRAGAACmAL+yLI7gg4zfM3kN7/g19C8xT0FkSfJiB9AA0zdlil8Af16HADfGLtCtnbEEn5icvmUyfHV+PhkMkDvUhIXSBEBmhRXp1Ro2hpbtLzyUFiHiM5YlKdhyE04eAdTr4jQA0otqr+22Ku2IN/C4Z99/nMHFRXv+SzC5DAKWpFwOsrIBZFEE07m4SiWLRQo9ZWpnlcHmU6mbO5jNJY/fiNbssOPkBCSfccnFlF91uH8DNNWNxl3eMhF/zDjEIuKfe6k7JitVG1vgtlU9F8evBmHn5BjCzmVGEnaf4TLwjI998GVoXXl/v0JLqqTevqprU5zUVy3A8EztQlne4T6JX7XLl9qN7CutPO1QBf7w7Yb8LuGWRsvH7do4rI435VH5/9VYeDaO8HQ2HNb60sOe+RvT4d9JbbP5VGS7/Yy8XO91/QwAAP//+s+d+CUHAAA=\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190430154639_add-enrollment-certs.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UvNK8rPyclNzSuJT04tKikGBAAA//+rh7R4JQAAAA==\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190430154639_add-enrollment-certs.up.sql", "\"H4sIAAAAAAAA/6SQUU7DMAyG33uK/22bhDjAOEzkJe7ImjpV4qh0iLujhFFg6gMCv9n6P3+ybWJShtIpMK5evWF35keWFEMYWdRYTpq7fQcA3qEU7yBRISWENqxlo2RN5EVxj5pp4AVT8iOlBQMvD436FvvT1h+8Mf2AxD0nFst585D84bX06fuVpsXr+jVda1Nl6aa4zArlF10Pupnbq50hhfqRs9I4Yfb63FpcozAc91RCJef94Y4vk/sXr3TOuOQoa2r3+rY7Huvo9PX8w1P3HgAA//8fQtADFQIAAA==\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190503092315_add-authenticator-cert-auth-fk.down.sql", "\"H4sIAAAAAAAA/5yRwW4CIRRF93zF3akLTVwbv2XyhDsOGQYMPNrYr2+Y2mQ0to1lSS7nnfuQoMxQOQXiw6vv6M7cSdWBUb0VTbmzzFoMAIhzsCnUKcK7FtBr5x1q9e5gzH9YsWgWH3XJ67p+nCPt9CnTnyNGXrFehDbI7JkZLcti2i3hWQ7GmO0WU3rjnexJ7AhNeOZVL070D3mINYV3wjhiXRhoFbJb3vc5TT/RCgTvAzPnNzhC7MM47zbmK7HHEfvXNzynn/xX049JEWsIL1NdTpdv6KNv27ljoNL8Wv1Wa6IOqVVfNfzqYMxnAAAA//8b8A4mjwIAAA==\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190503092315_add-authenticator-cert-auth-fk.up.sql", "\"H4sIAAAAAAAA/5xUwW7bOhC86yvmJuklDiC8FA1kpJc2hwK9tTkLDLmyCFOkQK7suMjHF5QsJYrhNCkvhM3hzs7sUMIwebB4MITfmnVFakNXoueGLGsp2PlKkueQAIBQCsszrdD3Wq2T5OOVpLOBvdCWT4pWVb0dcHHVzpPeWGzpgOw1MoenmjxZSeEcb1gnSbJaje1DUS16w7i///4Nu2tsyJKPsEgErRAcNEN6EkwKHXl4t3+PvqO0ASid6Vs7lCOeOaNXlbbZrC0utyNvxCGb9lZ9yrywyrVZXpZMj4ynJ6RlGjdpnNxWrFsKLNpuQuTojJDabpBep6i9a1H8ny9opjUB2VUNPWa1cc7PfPgPWVFghRtcoMhxgZu8LLXlqZOx9Oe8LGVgr+0mXw/eStcdQI86cKwdbcEwbay+4JVJ2gbyDG3ZnXUy0yr+4EOl1SVa4sapUU728+7H3ddfC2kvwYuDNPaQQgTwoaPxaFDwZkLzMS+eWrejeXZaPUfl39OgvOumkuvnVC4uXmkVWz55aZkIoW8poCiLIayx29FrYdXsAvaNlg1C43qj8EBg31Oe9J0S/Je3CSGHvJ5Q3yILZEgyROzuLQ8DBPYNeRqg82BwCyFf/pEfUcVtMRrRii0tmaNh1jFsb8z7PzBLz0+kRH1T0ZH4OOjZP62Oly9h3R5iJ7QZaJ09L7oTnix/oMshCXMwZlvWSfInAAD//yH7bieVBQAA\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190514084942_remove-old-ott-table.down.sql", "\"H4sIAAAAAAAA/6SRQU/DMAyF7/sVvq2TEBrX8WMiL3ndvKZJlbh0HeK/o3algyIQE77Z8nvvs2wTWEHKew+6iIqBO+BRHIKK9gYhRe9rBDVRNa+KFRGROGpbcRSiUmi9H4dD2RiyJpag9JOFaSr0s2CoJknNqacK/cNkP0nvz7nFfDIxpqy+JCaUSAgW+fvNgnyl0Fgh0Asne+RUPG23m5njumD5A/AerlH1NyLLE8qpU1KcdQGAcyMJ2bCSSo2sXDfUiR7Hli4xYIk8vtv9qnAoufVDVlcsT24b9y+98iHTKccwb61f39a73TDa3968eX4PAAD//9v/oDWYAgAA\"")
packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190514084942_remove-old-ott-table.up.sql", "\"H4sIAAAAAAAA/6RSzW7UQAy+z1P4loRmkVYUUaVXLjxAz9Ew401NZ8aRx9luUR8ebaJJBwRCCF9sf7K+z3+UMooCJWX4Tkoj+gnfYxIOIWLS3JLvgTwmJX0Zr4nyE6YeIuoj+x7wMpNgHq324AStol/jZfZ7rHbKnckY0CmQ7w1sVvMWbKMvWcOqzZ5VWgWqJAtUKe+kdsrmJByrIXfxt2lHVs33xpjDAaz3YMHjyS5B4eHhy2c438KECcUqC5xYgDxkBtLSBcwoIPxsbFAUUPs14G/XOjoUzWt3W6njsMS0EqLuqstCfqTUljFW4zNKsC9t8dF/bMUmz7HthkHxovD6Cs3QXJ0L7J5GpYhZbZxLRQdzsI7SBM1tA+tijh+6n2SKlULl8REv7Skwy64H76A9HuEAd3ADxw5u4K4bBkpaOtmoP3XD4LIKpam7N+ZvT7dtp62A6985u7pvz1q/UgX/24EFI59xXzX5t9v+z/m88FxIr0Jr/ivTHzv7EQAA///u4X2ajwMAAA==\"")
packr.PackJSONBytes("../certOLD/embedded", "schemas/ca.json", "\"H4sIAAAAAAAA/0zLMQ7CMAxG4T2niAwjjffepsIONSo2in8GQNwd0Yn16X3vUisdTWiutAL3mfllsEnlos0VPR4u49ksOM+r3pbkANo1w+m026H9h0W7ucHCsy3bth8H/qtsMiUGlU8p3wAAAP//R6EDwXYAAAA=\"")
packr.PackJSONBytes("../certOLD/embedded", "schemas/ott.json", "\"H4sIAAAAAAAA/xTLwQ3DIAwAwL+nQFafLf6zDS1ucZXYKDgPEmX3iAHuhBDwIQVTwOreEtEhLi8uP47K/rVdyzaiGPVP5TV3Mvf476b4nNZH44nfZgtnRbgA7gAAAP//5oK0DlUAAAA=\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20180905100349_initial-tables.down.sql", "\"H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20180905100349_initial-tables.up.sql", "\"H4sIAAAAAAAA/+RUwXLTMBC9+yv2VmeGYcq1PYlYAQ9GAdVm6Ekj7G2itpEz8pqEMvw7Y5MIp3WDPYETOtma1XtPem93KjlLOaTsdcLhwZBRWCzwpa5piZZMrql0KkdHVRAGAACmAL+yLI7gg4zfM3kN7/g19C8xT0FkSfJiB9AA0zdlil8Af16HADfGLtCtnbEEn5icvmUyfHV+PhkMkDvUhIXSBEBmhRXp1Ro2hpbtLzyUFiHiM5YlKdhyE04eAdTr4jQA0otqr+22Ku2IN/C4Z99/nMHFRXv+SzC5DAKWpFwOsrIBZFEE07m4SiWLRQo9ZWpnlcHmU6mbO5jNJY/fiNbssOPkBCSfccnFlF91uH8DNNWNxl3eMhF/zDjEIuKfe6k7JitVG1vgtlU9F8evBmHn5BjCzmVGEnaf4TLwjI998GVoXXl/v0JLqqTevqprU5zUVy3A8EztQlne4T6JX7XLl9qN7CutPO1QBf7w7Yb8LuGWRsvH7do4rI435VH5/9VYeDaO8HQ2HNb60sOe+RvT4d9JbbP5VGS7/Yy8XO91/QwAAP//+s+d+CUHAAA=\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190430154639_add-enrollment-certs.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UvNK8rPyclNzSuJT04tKikGBAAA//+rh7R4JQAAAA==\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190430154639_add-enrollment-certs.up.sql", "\"H4sIAAAAAAAA/6SQUU7DMAyG33uK/22bhDjAOEzkJe7ImjpV4qh0iLujhFFg6gMCv9n6P3+ybWJShtIpMK5evWF35keWFEMYWdRYTpq7fQcA3qEU7yBRISWENqxlo2RN5EVxj5pp4AVT8iOlBQMvD436FvvT1h+8Mf2AxD0nFst585D84bX06fuVpsXr+jVda1Nl6aa4zArlF10Pupnbq50hhfqRs9I4Yfb63FpcozAc91RCJef94Y4vk/sXr3TOuOQoa2r3+rY7Huvo9PX8w1P3HgAA//8fQtADFQIAAA==\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190503092315_add-authenticator-cert-auth-fk.down.sql", "\"H4sIAAAAAAAA/5yRwW4CIRRF93zF3akLTVwbv2XyhDsOGQYMPNrYr2+Y2mQ0to1lSS7nnfuQoMxQOQXiw6vv6M7cSdWBUb0VTbmzzFoMAIhzsCnUKcK7FtBr5x1q9e5gzH9YsWgWH3XJ67p+nCPt9CnTnyNGXrFehDbI7JkZLcti2i3hWQ7GmO0WU3rjnexJ7AhNeOZVL070D3mINYV3wjhiXRhoFbJb3vc5TT/RCgTvAzPnNzhC7MM47zbmK7HHEfvXNzynn/xX049JEWsIL1NdTpdv6KNv27ljoNL8Wv1Wa6IOqVVfNfzqYMxnAAAA//8b8A4mjwIAAA==\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190503092315_add-authenticator-cert-auth-fk.up.sql", "\"H4sIAAAAAAAA/5xUwW7bOhC86yvmJuklDiC8FA1kpJc2hwK9tTkLDLmyCFOkQK7suMjHF5QsJYrhNCkvhM3hzs7sUMIwebB4MITfmnVFakNXoueGLGsp2PlKkueQAIBQCsszrdD3Wq2T5OOVpLOBvdCWT4pWVb0dcHHVzpPeWGzpgOw1MoenmjxZSeEcb1gnSbJaje1DUS16w7i///4Nu2tsyJKPsEgErRAcNEN6EkwKHXl4t3+PvqO0ASid6Vs7lCOeOaNXlbbZrC0utyNvxCGb9lZ9yrywyrVZXpZMj4ynJ6RlGjdpnNxWrFsKLNpuQuTojJDabpBep6i9a1H8ny9opjUB2VUNPWa1cc7PfPgPWVFghRtcoMhxgZu8LLXlqZOx9Oe8LGVgr+0mXw/eStcdQI86cKwdbcEwbay+4JVJ2gbyDG3ZnXUy0yr+4EOl1SVa4sapUU728+7H3ddfC2kvwYuDNPaQQgTwoaPxaFDwZkLzMS+eWrejeXZaPUfl39OgvOumkuvnVC4uXmkVWz55aZkIoW8poCiLIayx29FrYdXsAvaNlg1C43qj8EBg31Oe9J0S/Je3CSGHvJ5Q3yILZEgyROzuLQ8DBPYNeRqg82BwCyFf/pEfUcVtMRrRii0tmaNh1jFsb8z7PzBLz0+kRH1T0ZH4OOjZP62Oly9h3R5iJ7QZaJ09L7oTnix/oMshCXMwZlvWSfInAAD//yH7bieVBQAA\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190514084942_remove-old-ott-table.down.sql", "\"H4sIAAAAAAAA/6SRQU/DMAyF7/sVvq2TEBrX8WMiL3ndvKZJlbh0HeK/o3algyIQE77Z8nvvs2wTWEHKew+6iIqBO+BRHIKK9gYhRe9rBDVRNa+KFRGROGpbcRSiUmi9H4dD2RiyJpag9JOFaSr0s2CoJknNqacK/cNkP0nvz7nFfDIxpqy+JCaUSAgW+fvNgnyl0Fgh0Asne+RUPG23m5njumD5A/AerlH1NyLLE8qpU1KcdQGAcyMJ2bCSSo2sXDfUiR7Hli4xYIk8vtv9qnAoufVDVlcsT24b9y+98iHTKccwb61f39a73TDa3968eX4PAAD//9v/oDWYAgAA\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "db/postgres/migrations/20190514084942_remove-old-ott-table.up.sql", "\"H4sIAAAAAAAA/6RSzW7UQAy+z1P4loRmkVYUUaVXLjxAz9Ew401NZ8aRx9luUR8ebaJJBwRCCF9sf7K+z3+UMooCJWX4Tkoj+gnfYxIOIWLS3JLvgTwmJX0Zr4nyE6YeIuoj+x7wMpNgHq324AStol/jZfZ7rHbKnckY0CmQ7w1sVvMWbKMvWcOqzZ5VWgWqJAtUKe+kdsrmJByrIXfxt2lHVs33xpjDAaz3YMHjyS5B4eHhy2c438KECcUqC5xYgDxkBtLSBcwoIPxsbFAUUPs14G/XOjoUzWt3W6njsMS0EqLuqstCfqTUljFW4zNKsC9t8dF/bMUmz7HthkHxovD6Cs3QXJ0L7J5GpYhZbZxLRQdzsI7SBM1tA+tijh+6n2SKlULl8REv7Skwy64H76A9HuEAd3ADxw5u4K4bBkpaOtmoP3XD4LIKpam7N+ZvT7dtp62A6985u7pvz1q/UgX/24EFI59xXzX5t9v+z/m88FxIr0Jr/ivTHzv7EQAA///u4X2ajwMAAA==\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "schemas/ca.json", "\"H4sIAAAAAAAA/0zLMQ7CMAxG4T2niAwjjffepsIONSo2in8GQNwd0Yn16X3vUisdTWiutAL3mfllsEnlos0VPR4u49ksOM+r3pbkANo1w+m026H9h0W7ucHCsy3bth8H/qtsMiUGlU8p3wAAAP//R6EDwXYAAAA=\"")
_ = packr.PackJSONBytes("../certOLD/embedded", "schemas/ott.json", "\"H4sIAAAAAAAA/xTLwQ3DIAwAwL+nQFafLf6zDS1ucZXYKDgPEmX3iAHuhBDwIQVTwOreEtEhLi8uP47K/rVdyzaiGPVP5TV3Mvf476b4nNZH44nfZgtnRbgA7gAAAP//5oK0DlUAAAA=\"")
}
+10 -10
View File
@@ -7,14 +7,14 @@ import "github.com/gobuffalo/packr"
// You can use the "packr clean" command to clean up this,
// and any other packr generated files.
func init() {
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20180905100348_initial-tables.down.sql", "\"H4sIAAAAAAAA/ypITM5OTE9VyM1ML0osyczPK+YCBAAA///k5Nx8EwAAAA==\"")
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20180905100348_initial-tables.up.sql", "\"H4sIAAAAAAAA/6SSwU7jMBCG73mKuTWRVqvutT15ExciggOug+jJcmvTGmgSxY4KRbw7cmiqFFXQlDnZmpnvH4//kGLEMDD0P8Gw1VZzJZfqr6jtSuVWL4QtKl6Xcm483wMA0BL2kWVxBDc0vkZ0Bld4BseDpAxIliR/dgAHtq9cy0/Az3EIqI2qcrFW7nyHaHiJqP9vOAxOBhjxbNvMWYBSGLMpKnk2YFEpYZXkwgJYvVbGinUJG21XzRW2Ra4gwhOUJQzyYuMHX3dQyt8BrFiadrZHU+Q9fmHPHby9D2A0avrnXjD2PJQwTE8ykwOiKIIwJVNGUUwYHCnjHbNw/vAEk5Ti+II0ZvM7yQAonmCKSYinHeVdhVbGVbsJd37PSHybYYhJhO+PCrcm47zWuVQvzcAp+f5V4LdtfaScHXvKuJY+Egdr7KXU3fHY+wgAAP//BUpBPy4EAAA=\"")
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190506084751_add-authenticator-updb-auth-fk.down.sql", "\"H4sIAAAAAAAA/5yRQW6DMBBF9z7F3yVZJFLWiLOgAX+ChbGRPW6Vnr6CphKJ0lYpS/T85o0tXpmg0nriw6lraC88SdGBQV0nGlNTZttmAwBiLbroyxTg7ALotXEWpThbGfMfV8iaxAXd+pqmH1dk+fqY6C4BI6/Yb6ADEnsmho55M+1GOObKGHM8YopvvIttpRuhEc+6ymxF/4iHFJN5F4wa+0zPTiGn7f8+xeknW4bgfWDiegY1pDyMc/Zgvogzapxfv+GVfvJeS36IilC8f9lqU5y/pY+9lTGWnkrz6+a3rSbqEJfNd4t9V30GAAD//9B9JG2MAgAA\"")
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190506084751_add-authenticator-updb-auth-fk.up.sql", "\"H4sIAAAAAAAA/5xUwW7bOhC86yvmZuklDiC8FA1kpJc2hwK9tTkLDLmyCFOkQC7tuMjHF5QsJY7hNCkvhOnhzs7sUMIwebB4MITfmnVNak1XInJLlrUU7Hwde/UQMgAQSuH4P60Qo1arLPt4JelsYC+05ZOidd1sBlxajfOk1xYb2iN/jSzgqSFPVlI4xxtWWZYtl2P7UNSIaBj399+/YXuNNVnyCZaIoBWCg2ZIT4JJoScP73bv0XeQNgClM7GzQznimTN5VWubz9rSclvyRuzzae/Up9wLq1yXF1XF9Mh4esKiWqRNGic3NeuOAouunxAFeiOktmssrhdovOtQ/l8c0UxrArKrW3rMG+Ocn/nwH/KyxBI3uEBZ4AI3RVVpy1MnY+nPRVXJwF7bdbEavJWu34MedeBUO9kCSZ4Dll/wyiRtA3mGtuzOOplrlX7wvtbqEh1x61SR5T/vftx9/TXKeokYTxYpXwuIAN73lI29vpnFYkyGp85taZ6SVs+h+Pe5K+/6qeTqOX9HF6+0Su2evKlchBA7Ciircohl8nJ0VVg1S8eu1bJFaF00Cg8E9pGKLPZK8F9eIUQcknlCfYs8kCHJEKm7tzwMENi15GmAztPALUR8eVAcUOVtORrRiQ0dMyfDrGPYaMz7PyXHnp9ISfqmoiPxYdCzf1odLl/Cuh3EVmgz0Dp7XnQvPFn+QJdDEuZgzLassuxPAAAA//9db58DfwUAAA==\"")
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190508132642_add-updb-enrollment-table.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UvNK8rPyclNzSuJLy1ISSq2BgQAAP//u+YjMiYAAAA=\"")
packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190508132642_add-updb-enrollment-table.up.sql", "\"H4sIAAAAAAAA/7SRwU7DMAyG73kK37ZKCAHiNB4mcht3C02cyHEYHeLdES3TOlQhDuCb/zj/9yfuhFAJFNtAcPLqLbk93RJLCiESq63ZtcVsDQCAd7CoWq/7H4uTAtcQzFnoEhcV9KzwjWbzQCNk8RFlhIHGm+nSYsq7/4NfYaztBxDqSYg7Kqs/VOZ4tZAwRpoBLyjdAWV7f/fw2Pw23peRhMWZ0qvO+rwqZ1En3UcqijHD0ethauGUmMBRjzUocDpum3VAdn9jpLgvl6TPJfHq885Gm7f3zW73OdZeNtI8GWM+AgAA//+9sucdhgIAAA==\"")
packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.admin.create.post.json", "\"H4sIAAAAAAAA/5TOv07DQAzH8T1PYVmMcCkSYsgzMLAjBjfnNq4a32E7glL13VHCv6oDEsMtX50/+h0bALySjB3gEFG7tn2XkBvOW07KsSmTZjskKa33A4/kLU0xsIb0FMXSVPM6UR5FU29MwakWj7Tzong943GoPOtlveM+PhvlLCFFaf9opbKFsGMHG9o7Lx+MXyYxnmc9NQAAWMn9tVheAACcnE1pZGwAnpebek4dL66+y9kgDxPdfnkAOIo+sG5jwA7ufyu9/dTb1WrJp8sN/9Tv/tab+Z2ajwAAAP//MCQ4NpsBAAA=\"")
packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.admin.set.put.json", "\"H4sIAAAAAAAA/1zOsU4DMQwG4D1PYUWMkCsLwz0DAzticC/unaueE2JHUKq+O0oQcOrg5dPvX//FAfg7jn4Ev5jlcRi+2PiB4kxByA6pSiznwGnQaaEVdcBqC4nxhJZKqDnuA8aVJeRq4ahJ/H0rtXOm1pr2R5rsxzBGNk6Cp5eSMhVjUj/CAU9KPVDovXKhNufVAQD4jKofqUTvAN56Jm9fLzepX9kMUCsscx/QfWV5Jplt8SM8/St+/unjbtf56tpd3XcAAAD//w9p0/UlAQAA\"")
packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.enroll.post.json", "\"H4sIAAAAAAAA/1zOsU7DQAwG4P2ewjoxwqUsDHkGBnbEcM25iavUPmxHUKq+O8ohIOrg5dPvX/8lAMQ7KrGHOLnXvuu+yOkBy4iJ0Q+ycNFzIulsmPCUrcuLT8hOQ3bRtNSyT8gq85yqmKejCcf7tdbPFdde2R9x8B/LpZCTcJ5fVCqqE1rs4ZBnwxZQfF9IcR30GgAAYs1mH6IlBoC3lqnb18tN6lc2A8yVeGwDmp+In5FHn2IPT/+aP//0cbdrfA3rXcN3AAAA//+i77QqJwEAAA==\"")
packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.user.update.put.json", "\"H4sIAAAAAAAA/6yOv04DMQzG9zyFZTFCriwM9wwM7IghvXy9c9U6IXEEpeq7o7vy59gZLFk/ff75OzsivpHIPfFklvuu+xCTO8QRXmG71DSWk5fU1WHCMdQuNJugJkOwVHzLcetbxbIFg8/N/L4m5dtZbaeM2Z22ewx2ZSFGMUkaDk8lZRQTVO5pFw4VS6DgtUnBXOrZERHx0EqBXu+JWPHGjuhlSee15Pw3/w1WTaoV0fHLRMRH0UfoaBP39PBLw/sPvd9sFnxZff9fsZvn4j4DAAD//xlvefiNAQAA\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20180905100348_initial-tables.down.sql", "\"H4sIAAAAAAAA/ypITM5OTE9VyM1ML0osyczPK+YCBAAA///k5Nx8EwAAAA==\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20180905100348_initial-tables.up.sql", "\"H4sIAAAAAAAA/6SSwU7jMBCG73mKuTWRVqvutT15ExciggOug+jJcmvTGmgSxY4KRbw7cmiqFFXQlDnZmpnvH4//kGLEMDD0P8Gw1VZzJZfqr6jtSuVWL4QtKl6Xcm483wMA0BL2kWVxBDc0vkZ0Bld4BseDpAxIliR/dgAHtq9cy0/Az3EIqI2qcrFW7nyHaHiJqP9vOAxOBhjxbNvMWYBSGLMpKnk2YFEpYZXkwgJYvVbGinUJG21XzRW2Ra4gwhOUJQzyYuMHX3dQyt8BrFiadrZHU+Q9fmHPHby9D2A0avrnXjD2PJQwTE8ykwOiKIIwJVNGUUwYHCnjHbNw/vAEk5Ti+II0ZvM7yQAonmCKSYinHeVdhVbGVbsJd37PSHybYYhJhO+PCrcm47zWuVQvzcAp+f5V4LdtfaScHXvKuJY+Egdr7KXU3fHY+wgAAP//BUpBPy4EAAA=\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190506084751_add-authenticator-updb-auth-fk.down.sql", "\"H4sIAAAAAAAA/5yRQW6DMBBF9z7F3yVZJFLWiLOgAX+ChbGRPW6Vnr6CphKJ0lYpS/T85o0tXpmg0nriw6lraC88SdGBQV0nGlNTZttmAwBiLbroyxTg7ALotXEWpThbGfMfV8iaxAXd+pqmH1dk+fqY6C4BI6/Yb6ADEnsmho55M+1GOObKGHM8YopvvIttpRuhEc+6ymxF/4iHFJN5F4wa+0zPTiGn7f8+xeknW4bgfWDiegY1pDyMc/Zgvogzapxfv+GVfvJeS36IilC8f9lqU5y/pY+9lTGWnkrz6+a3rSbqEJfNd4t9V30GAAD//9B9JG2MAgAA\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190506084751_add-authenticator-updb-auth-fk.up.sql", "\"H4sIAAAAAAAA/5xUwW7bOhC86yvmZuklDiC8FA1kpJc2hwK9tTkLDLmyCFOkQC7tuMjHF5QsJY7hNCkvhOnhzs7sUMIwebB4MITfmnVNak1XInJLlrUU7Hwde/UQMgAQSuH4P60Qo1arLPt4JelsYC+05ZOidd1sBlxajfOk1xYb2iN/jSzgqSFPVlI4xxtWWZYtl2P7UNSIaBj399+/YXuNNVnyCZaIoBWCg2ZIT4JJoScP73bv0XeQNgClM7GzQznimTN5VWubz9rSclvyRuzzae/Up9wLq1yXF1XF9Mh4esKiWqRNGic3NeuOAouunxAFeiOktmssrhdovOtQ/l8c0UxrArKrW3rMG+Ocn/nwH/KyxBI3uEBZ4AI3RVVpy1MnY+nPRVXJwF7bdbEavJWu34MedeBUO9kCSZ4Dll/wyiRtA3mGtuzOOplrlX7wvtbqEh1x61SR5T/vftx9/TXKeokYTxYpXwuIAN73lI29vpnFYkyGp85taZ6SVs+h+Pe5K+/6qeTqOX9HF6+0Su2evKlchBA7Ciircohl8nJ0VVg1S8eu1bJFaF00Cg8E9pGKLPZK8F9eIUQcknlCfYs8kCHJEKm7tzwMENi15GmAztPALUR8eVAcUOVtORrRiQ0dMyfDrGPYaMz7PyXHnp9ISfqmoiPxYdCzf1odLl/Cuh3EVmgz0Dp7XnQvPFn+QJdDEuZgzLassuxPAAAA//9db58DfwUAAA==\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190508132642_add-updb-enrollment-table.down.sql", "\"H4sIAAAAAAAA/0opyi9QKElMyklVqMosyYxPTUlP1UvNK8rPyclNzSuJLy1ISSq2BgQAAP//u+YjMiYAAAA=\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "db/postgres/migrations/20190508132642_add-updb-enrollment-table.up.sql", "\"H4sIAAAAAAAA/7SRwU7DMAyG73kK37ZKCAHiNB4mcht3C02cyHEYHeLdES3TOlQhDuCb/zj/9yfuhFAJFNtAcPLqLbk93RJLCiESq63ZtcVsDQCAd7CoWq/7H4uTAtcQzFnoEhcV9KzwjWbzQCNk8RFlhIHGm+nSYsq7/4NfYaztBxDqSYg7Kqs/VOZ4tZAwRpoBLyjdAWV7f/fw2Pw23peRhMWZ0qvO+rwqZ1En3UcqijHD0ethauGUmMBRjzUocDpum3VAdn9jpLgvl6TPJfHq885Gm7f3zW73OdZeNtI8GWM+AgAA//+9sucdhgIAAA==\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.admin.create.post.json", "\"H4sIAAAAAAAA/5TOv07DQAzH8T1PYVmMcCkSYsgzMLAjBjfnNq4a32E7glL13VHCv6oDEsMtX50/+h0bALySjB3gEFG7tn2XkBvOW07KsSmTZjskKa33A4/kLU0xsIb0FMXSVPM6UR5FU29MwakWj7Tzong943GoPOtlveM+PhvlLCFFaf9opbKFsGMHG9o7Lx+MXyYxnmc9NQAAWMn9tVheAACcnE1pZGwAnpebek4dL66+y9kgDxPdfnkAOIo+sG5jwA7ufyu9/dTb1WrJp8sN/9Tv/tab+Z2ajwAAAP//MCQ4NpsBAAA=\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.admin.set.put.json", "\"H4sIAAAAAAAA/1zOsU4DMQwG4D1PYUWMkCsLwz0DAzticC/unaueE2JHUKq+O0oQcOrg5dPvX//FAfg7jn4Ev5jlcRi+2PiB4kxByA6pSiznwGnQaaEVdcBqC4nxhJZKqDnuA8aVJeRq4ahJ/H0rtXOm1pr2R5rsxzBGNk6Cp5eSMhVjUj/CAU9KPVDovXKhNufVAQD4jKofqUTvAN56Jm9fLzepX9kMUCsscx/QfWV5Jplt8SM8/St+/unjbtf56tpd3XcAAAD//w9p0/UlAQAA\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.enroll.post.json", "\"H4sIAAAAAAAA/1zOsU7DQAwG4P2ewjoxwqUsDHkGBnbEcM25iavUPmxHUKq+O8ohIOrg5dPvX/8lAMQ7KrGHOLnXvuu+yOkBy4iJ0Q+ycNFzIulsmPCUrcuLT8hOQ3bRtNSyT8gq85yqmKejCcf7tdbPFdde2R9x8B/LpZCTcJ5fVCqqE1rs4ZBnwxZQfF9IcR30GgAAYs1mH6IlBoC3lqnb18tN6lc2A8yVeGwDmp+In5FHn2IPT/+aP//0cbdrfA3rXcN3AAAA//+i77QqJwEAAA==\"")
_ = packr.PackJSONBytes("../updbOLD/embedded", "schema/updb.user.update.put.json", "\"H4sIAAAAAAAA/6yOv04DMQzG9zyFZTFCriwM9wwM7IghvXy9c9U6IXEEpeq7o7vy59gZLFk/ff75OzsivpHIPfFklvuu+xCTO8QRXmG71DSWk5fU1WHCMdQuNJugJkOwVHzLcetbxbIFg8/N/L4m5dtZbaeM2Z22ewx2ZSFGMUkaDk8lZRQTVO5pFw4VS6DgtUnBXOrZERHx0EqBXu+JWPHGjuhlSee15Pw3/w1WTaoV0fHLRMRH0UfoaBP39PBLw/sPvd9sFnxZff9fsZvn4j4DAAD//xlvefiNAQAA\"")
}
+22
View File
@@ -3565,6 +3565,28 @@ definitions:
enrollment:
properties: {}
type: object
envInfo:
type: "object"
properties:
arch:
type: "string"
os:
type: "string"
osRelease:
type: "string"
osVersion:
type: "string"
sdkInfo:
type: "object"
properties:
branch:
type: "string"
revision:
type: "string"
type:
type: "string"
version:
type: "string"
###################################################################
# Authenticator
##################################################################
+78
View File
@@ -232,6 +232,84 @@ func (test *authCertTests) testAuthenticateValidCertValidClientInfoBody(t *testi
_, err = data.ObjectP("data.identity")
r.NoError(err, "session token property in 'data.token' is empty")
})
t.Run("client info is set on the identity", func(t *testing.T) {
test.ctx.testContextChanged(t)
r := test.ctx.req
data, err := gabs.ParseJSON(resp.Body())
r.NoError(err)
r.True(data.ExistsP("data.identity.id"), "identity id not found")
identityId := data.Path("data.identity.id").Data().(string)
r.NotEmpty(identityId)
r.True(data.ExistsP("data.token"), "token not found")
token := data.Path("data.token").Data().(string)
r.NotEmpty(token)
resp, err := test.ctx.AdminSession.newRequest(test.ctx).Get("identities/" + identityId)
r.NoError(err)
r.Equal(http.StatusOK, resp.StatusCode())
identity, err := gabs.ParseJSON(resp.Body())
r.NoError(err)
sentInfo, err := gabs.ParseJSON([]byte(bodyJson))
r.NoError(err)
sentEnvInfo := sentInfo.Path("envInfo").Data().(map[string]interface{})
sentSdkInfo := sentInfo.Path("sdkInfo").Data().(map[string]interface{})
envInfo := identity.Path("data.envInfo").Data().(map[string]interface{})
r.Equal(sentEnvInfo, envInfo)
sdkInfo := identity.Path("data.sdkInfo").Data().(map[string]interface{})
r.Equal(sentSdkInfo, sdkInfo)
})
t.Run("client info is updated on the identity", func(t *testing.T) {
test.ctx.testContextChanged(t)
r := test.ctx.req
secondInfo := `{
"envInfo": {"os": "updatedValueOs", "arch": "updatedValueArch", "osRelease": "updatedValueRelease", "osVersion": "updatedValueOsRelease"},
"sdkInfo": {"type": "updatedValueType", "branch": "updatedValueBranch", "version": "updatedValueVersion", "revision": "updatedValueRevision"}
}`
authResp, err := testClient.NewRequest().
SetHeader("Content-Type", "application/json").
SetBody(secondInfo).
Post("/authenticate?method=cert")
r.NoError(err)
r.Equal(http.StatusOK, authResp.StatusCode())
authData, err := gabs.ParseJSON(authResp.Body())
r.NoError(err)
identityId := authData.Path("data.identity.id").Data().(string)
resp, err := test.ctx.AdminSession.newRequest(test.ctx).Get("identities/" + identityId)
r.NoError(err)
r.Equal(http.StatusOK, resp.StatusCode())
identity, err := gabs.ParseJSON(resp.Body())
r.NoError(err)
sentInfo, err := gabs.ParseJSON([]byte(secondInfo))
r.NoError(err)
sentEnvInfo := sentInfo.Path("envInfo").Data().(map[string]interface{})
sentSdkInfo := sentInfo.Path("sdkInfo").Data().(map[string]interface{})
envInfo := identity.Path("data.envInfo").Data().(map[string]interface{})
r.Equal(sentEnvInfo, envInfo)
sdkInfo := identity.Path("data.sdkInfo").Data().(map[string]interface{})
r.Equal(sentSdkInfo, sdkInfo)
})
}
func (test *authCertTests) testAuthenticateValidCertInvalidJson(t *testing.T) {