1000ms
100vh
0

Introducing Recipe Book — a smarter, simpler way to create, manage, and teach recipes. Request Early Access →

Skip to Content
Galley Solutions
Galley Solutions
Industries
Product
Pricing
Company
Resources
RESERVE A DEMO
Galley Solutions
Galley Solutions
Industries
Product
Pricing
Company
Resources
RESERVE A DEMO
Industries
Product
Pricing
Company
Resources
RESERVE A DEMO
PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QZXJt YW5lbnQrTWFya2VyJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KPHN0eWxlPgojZ3Jm cHsKICAKICAKICAKICAKICAKICAKICAKICBmb250LWZhbWlseTonSW50ZXInLC1hcHBsZS1zeXN0 ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LHNhbnMtc2VyaWY7Y29sb3I6IzRENEQ0RDsKICBmb250LXNp emU6MTZweDtsaW5lLWhlaWdodDoxLjU1O2JhY2tncm91bmQ6I2ZmZjt0ZXh0LWFsaWduOmxlZnQ7 LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDsKfQojZ3JmcCAqLCNncmZwICo6OmJl Zm9yZSwjZ3JmcCAqOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7fQojZ3JmcCBpbWd7bWF4 LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87ZGlzcGxheTpibG9jazt9CiNncmZwIGgxLCNncmZwIGgy LCNncmZwIGgze2ZvbnQtZmFtaWx5OidFcm9kZSBWYXJpYWJsZScsJ0Vyb2RlJyxHZW9yZ2lhLHNl cmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBsZXR0ZXItc3BhY2luZzotLjAxNWVtO2NvbG9yOiMyRjRG NEY7bWFyZ2luOjA7dGV4dC13cmFwOmJhbGFuY2U7fQojZ3JmcCBoMXtmb250LXNpemU6Y2xhbXAo Mi4wNXJlbSw0LjN2dywzLjRyZW0pO2xpbmUtaGVpZ2h0OjEuMDc7fQojZ3JmcCBoMntmb250LXNp emU6Y2xhbXAoMS41cmVtLDIuNXZ3LDIuMTVyZW0pO2xpbmUtaGVpZ2h0OjEuMTU7fQojZ3JmcCBo M3tmb250LXNpemU6MS4wOHJlbTtsaW5lLWhlaWdodDoxLjM7fQojZ3JmcCBwe21hcmdpbjowIDAg MTRweDt9CiNncmZwIC5yZnAtd3JhcHttYXgtd2lkdGg6MTI0MHB4O21hcmdpbjowIGF1dG87cGFk ZGluZzowIDI0cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO30KI2dyZnAgLnNlY3twYWRk aW5nOjg0cHggMDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7fQojZ3JmcCAuc2Vj LXRpbnR7YmFja2dyb3VuZDojRjNGNkVGO30KI2dyZnAgLmV5ZWJyb3d7Zm9udC1mYW1pbHk6J0lu dGVyJyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7 CiAgbGV0dGVyLXNwYWNpbmc6LjEyZW07Zm9udC1zaXplOi43MnJlbTtjb2xvcjojRDY4QzQ1O2Rp c3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206MTRweDt9CiNncmZwIC5idG57ZGlzcGxh eTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtn YXA6OHB4OwogIGZvbnQtZmFtaWx5OidJbnRlcicsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7 dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNmVtOwogIGZvbnQtc2l6 ZTouOHJlbTtwYWRkaW5nOjE2cHggMzBweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MnB4IHNv bGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyOwogIHRleHQtZGVjb3JhdGlvbjpub25lO3Ry YW5zaXRpb246dHJhbnNmb3JtIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZSxiYWNrZ3Jv dW5kIC4xNXMgZWFzZTt9CiNncmZwIC5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOiMyRjRGNEY7Y29s b3I6I2ZmZjt9CiNncmZwIC5idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOiMyNTQwM2Y7dHJh bnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjE1 KTtjb2xvcjojZmZmO30KI2dyZnAgLmJ0bi1naG9zdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Nv bG9yOiMyRjRGNEY7Ym9yZGVyLWNvbG9yOiNBQ0I5Qjk7fQojZ3JmcCAuYnRuLWdob3N0OmhvdmVy e2JvcmRlci1jb2xvcjojMkY0RjRGO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO30KI2dyZnAg LmJ0bi1vbkRhcmt7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyRjRGNEY7fQojZ3JmcCAuYnRuLW9u RGFyazpob3ZlcntiYWNrZ3JvdW5kOiNGM0Y2RUY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7 fQojZ3JmcCAubWFya2VyLW5vdGV7Zm9udC1mYW1pbHk6J1Blcm1hbmVudCBNYXJrZXInLGN1cnNp dmU7Y29sb3I6I0Q2OEM0NTtmb250LXNpemU6Ljk1cmVtOwogIGRpc3BsYXk6aW5saW5lLWJsb2Nr O3RyYW5zZm9ybTpyb3RhdGUoLTIuNWRlZyk7fQojZ3JmcCAuc2NhbGUtbWFya3twb3NpdGlvbjpy ZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7fQojZ3JmcCAu c2NhbGUtbWFyayBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOi0u MTZlbTt3aWR0aDoxMDAlO2hlaWdodDouMzRlbTt9CgojZ3JmcCAuaGVyb3twYWRkaW5nOjk2cHgg MCA2NHB4O2JhY2tncm91bmQ6CiAgcmFkaWFsLWdyYWRpZW50KDEyMCUgOTAlIGF0IDg4JSA4JSxy Z2JhKDIxMiwyMjMsMjAwLC41NSkscmdiYSgyNDMsMjQ2LDIzOSwwKSA2MiUpLAogICNGM0Y2RUY7 fQojZ3JmcCAuaGVyby1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlu bWF4KDAsMS4yMmZyKSBtaW5tYXgoMCwuNzhmcik7Z2FwOjU2cHg7YWxpZ24taXRlbXM6Y2VudGVy O30KI2dyZnAgLmhlcm8tbGVkZXtmb250LXNpemU6Y2xhbXAoMS4wMnJlbSwxLjM1dncsMS4xNnJl bSk7Y29sb3I6IzRENEQ0RDttYXgtd2lkdGg6NTZjaDttYXJnaW46MjBweCAwIDA7fQojZ3JmcCAu aGVyby1jdGFze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTZweDthbGlnbi1pdGVt czpjZW50ZXI7bWFyZ2luOjMwcHggMCAwO30KI2dyZnAgLmhlcm8tbWljcm97Zm9udC1zaXplOi44 NnJlbTtjb2xvcjojODI5NTk1O21hcmdpbjoxNnB4IDAgMDt9CiNncmZwIC5oZXJvLXNlZ21lbnRz e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O21hcmdpbjoyMnB4IDAgMDt9CiNn cmZwIC5zZWctY2hpcHtmb250LWZhbWlseTonSW50ZXInLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6 NjAwO2ZvbnQtc2l6ZTouNzZyZW07Y29sb3I6IzU5NzI3MjsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9y ZGVyOjFweCBzb2xpZCAjRDVEQ0RDO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo2cHggMTJw eDt9CgojZ3JmcCAubnVtLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MjJweDti b3gtc2hhZG93OjAgMjJweCA4MHB4IHJnYmEoNDcsNzksNzksLjE4KTsKICBwYWRkaW5nOjM0cHgg MzJweCAzMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo0MjBweDttYXJnaW46MCBhdXRv O30KI2dyZnAgLm51bS1jYXJkIC5tYXJrZXItbm90ZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE0 cHg7cmlnaHQ6MjJweDtiYWNrZ3JvdW5kOiNmZmY7CiAgcGFkZGluZzoycHggMTBweDtib3JkZXIt cmFkaXVzOjZweDtib3gtc2hhZG93OjAgMCA4cHggcmdiYSgwLDAsMCwuMTUpO30KI2dyZnAgLm51 bS1jYXJkIC5wZXJzb25he3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtib3R0b206MTAwJTt3 aWR0aDoxMDRweDtoZWlnaHQ6YXV0bzsKICBtYXJnaW4tYm90dG9tOi0zNHB4O3BvaW50ZXItZXZl bnRzOm5vbmU7fQojZ3JmcCAubnVtLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1 bW5zOjQ0cHggbWlubWF4KDAsMWZyKTtnYXA6MTRweDtwYWRkaW5nOjE0cHggMDsKICBib3JkZXIt Ym90dG9tOjFweCBzb2xpZCAjRDVEQ0RDO2FsaWduLWl0ZW1zOmJhc2VsaW5lO30KI2dyZnAgLm51 bS1yb3c6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjA7cGFkZGluZy1ib3R0b206MDt9CiNncmZw IC5udW0tbm97Zm9udC1mYW1pbHk6J0Vyb2RlIFZhcmlhYmxlJywnRXJvZGUnLEdlb3JnaWEsc2Vy aWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZToxLjM1cmVtO2NvbG9yOiNENjhDNDU7fQoj Z3JmcCAubnVtLW5hbWV7Zm9udC1zaXplOi45N3JlbTtjb2xvcjojMkY0RjRGO2ZvbnQtd2VpZ2h0 OjcwMDtsaW5lLWhlaWdodDoxLjM1O30KI2dyZnAgLm51bS1zdWJ7Zm9udC1zaXplOi44NXJlbTtj b2xvcjojODI5NTk1O2ZvbnQtd2VpZ2h0OjQwMDtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MnB4 O30KCiNncmZwIC5jaGFwdGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtnYXA6 MTBweDttYXJnaW4tYm90dG9tOjE2cHg7fQojZ3JmcCAuY2hhcHRlciAubm97Zm9udC1mYW1pbHk6 J1Blcm1hbmVudCBNYXJrZXInLGN1cnNpdmU7Y29sb3I6I0Q2OEM0NTtmb250LXNpemU6LjkycmVt O30KI2dyZnAgLmNoYXB0ZXIgLm5hbWV7Zm9udC1mYW1pbHk6J0ludGVyJyxzYW5zLXNlcmlmO2Zv bnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgbGV0dGVyLXNwYWNpbmc6 LjEyZW07Zm9udC1zaXplOi43MnJlbTtjb2xvcjojODI5NTk1O30KCiNncmZwIC50b29sLWhlYWR7 bWF4LXdpZHRoOjc2MHB4O21hcmdpbjowIDAgMjZweDt9CiNncmZwICNyZnAtZW1iZWR7cG9zaXRp b246cmVsYXRpdmU7YmFja2dyb3VuZDojRjNGNkVGO2JvcmRlci1yYWRpdXM6MTRweDsKICBtaW4t aGVpZ2h0OjE1MDBweDtvdmVyZmxvdzpoaWRkZW47fQojZ3JmcCAjcmZwLWVtYmVkIGlmcmFtZXt3 aWR0aDoxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE1MDBweDtwb3NpdGlvbjpy ZWxhdGl2ZTt6LWluZGV4OjE7fQoKI2dyZnAgLmluc2lkZS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlk LXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSk7Z2FwOjIycHg7bWFyZ2lu LXRvcDozNHB4O30KI2dyZnAgLmljYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE2 cHg7Ym94LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjE1KTtwYWRkaW5nOjI4cHggMjZweCAy NnB4O30KI2dyZnAgLmljYXJkIGltZ3t3aWR0aDo3MnB4O2hlaWdodDo3MnB4O21hcmdpbi1ib3R0 b206MTRweDt9CiNncmZwIC5pY2FyZCBoM3ttYXJnaW4tYm90dG9tOjhweDt9CiNncmZwIC5pY2Fy ZCBwe2ZvbnQtc2l6ZTouOTVyZW07bWFyZ2luOjA7Y29sb3I6IzRENEQ0RDt9CgojZ3JmcCAuc291 cmNlc3ttYXJnaW4tdG9wOjMwcHg7cGFkZGluZzoyMnB4IDI2cHg7YmFja2dyb3VuZDojZmZmO2Jv cmRlci1yYWRpdXM6MTZweDsKICBib3JkZXI6MXB4IHNvbGlkICNENURDREM7ZGlzcGxheTpncmlk O2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvIG1pbm1heCgwLDFmcik7Z2FwOjE4cHg7YWxpZ24t aXRlbXM6Y2VudGVyO30KI2dyZnAgLnNvdXJjZXMgaW1ne3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHg7 fQojZ3JmcCAuc291cmNlcyBwe21hcmdpbjowO2ZvbnQtc2l6ZTouOTNyZW07Y29sb3I6IzRENEQ0 RDt9CgojZ3JmcCAuYnJpZGdlLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1u czptaW5tYXgoMCwxLjFmcikgbWlubWF4KDAsLjlmcik7Z2FwOjU2cHg7YWxpZ24taXRlbXM6Y2Vu dGVyO30KI2dyZnAgLmJyaWRnZS1saXN0e2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2lu OjE4cHggMCAyNnB4O30KI2dyZnAgLmJyaWRnZS1saXN0IGxpe3BhZGRpbmc6OXB4IDA7ZGlzcGxh eTpmbGV4O2dhcDoxMnB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Zm9udC1zaXplOi45OHJlbTts aW5lLWhlaWdodDoxLjU7fQojZ3JmcCAuYnJpZGdlLWxpc3QgbGkgc3Zne2ZsZXg6MCAwIDIycHg7 bWFyZ2luLXRvcDoycHg7fQojZ3JmcCAubW9kdWxlLXN0cmlwe2Rpc3BsYXk6ZmxleDtmbGV4LXdy YXA6d3JhcDtnYXA6MTBweDttYXJnaW46MCAwIDhweDt9CiNncmZwIC5tb2R1bGUtY2hpcHtmb250 LWZhbWlseTonSW50ZXInLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouOHJl bTsKICBjb2xvcjojMkY0RjRGO2JhY2tncm91bmQ6I0YzRjZFRjtib3JkZXI6MXB4IHNvbGlkICNE NURDREM7CiAgYm9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjdweCAxNXB4O30KI2dyZnAgLnN0 YXQtcGFuZWx7YmFja2dyb3VuZDojMkY0RjRGO2JvcmRlci1yYWRpdXM6MjJweDtjb2xvcjojZmZm OwogIHBhZGRpbmc6NDBweCAzNnB4O2JveC1zaGFkb3c6MCAyMnB4IDgwcHggcmdiYSg0Nyw3OSw3 OSwuMTgpO30KI2dyZnAgLnN0YXQtcm93e3BhZGRpbmc6MThweCAwO2JvcmRlci1ib3R0b206MXB4 IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTt9CiNncmZwIC5zdGF0LXJvdzpsYXN0LWNoaWxk e2JvcmRlci1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowO30KI2dyZnAgLnN0YXR7Zm9udC1mYW1p bHk6J0Vyb2RlIFZhcmlhYmxlJywnRXJvZGUnLEdlb3JnaWEsc2VyaWY7Zm9udC13ZWlnaHQ6NjAw OwogIGZvbnQtc2l6ZToyLjFyZW07bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojRTZCQThGO30KI2dy ZnAgLnN0YXRsYWJlbHtmb250LXNpemU6LjkycmVtO2NvbG9yOiNEQ0U2RTA7bWFyZ2luLXRvcDo0 cHg7fQoKI2dyZnAgLmZhcXttYXgtd2lkdGg6ODIwcHg7fQojZ3JmcCAuZmFxIGRldGFpbHN7Ym9y ZGVyLWJvdHRvbToxcHggc29saWQgI0Q1RENEQztwYWRkaW5nOjZweCAwO30KI2dyZnAgLmZhcSBz dW1tYXJ5e2N1cnNvcjpwb2ludGVyO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXg7anVzdGlm eS1jb250ZW50OnNwYWNlLWJldHdlZW47CiAgZ2FwOjE4cHg7YWxpZ24taXRlbXM6YmFzZWxpbmU7 cGFkZGluZzoxNHB4IDA7Zm9udC1mYW1pbHk6J0Vyb2RlIFZhcmlhYmxlJywnRXJvZGUnLEdlb3Jn aWEsc2VyaWY7CiAgZm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxLjEycmVtO2NvbG9yOiMyRjRG NEY7fQojZ3JmcCAuZmFxIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpu b25lO30KI2dyZnAgLmZhcSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiIrIjtmb250LWZhbWlseTon SW50ZXInLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGNvbG9yOiNENjhDNDU7Zm9udC1z aXplOjEuMnJlbTtmbGV4OjAgMCBhdXRvO30KI2dyZnAgLmZhcSBkZXRhaWxzW29wZW5dIHN1bW1h cnk6OmFmdGVye2NvbnRlbnQ6IlwyMjEyIjt9CiNncmZwIC5mYXEgLmF7cGFkZGluZzowIDAgMThw eDtmb250LXNpemU6Ljk3cmVtO21heC13aWR0aDo2NGNoO30KCiNncmZwIC5jdGEtcGFuZWx7YmFj a2dyb3VuZDojMkY0RjRGO2JvcmRlci1yYWRpdXM6MjZweDtwYWRkaW5nOjY0cHggNDhweDsKICB0 ZXh0LWFsaWduOmNlbnRlcjtib3gtc2hhZG93OjAgMjJweCA4MHB4IHJnYmEoNDcsNzksNzksLjE4 KTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47fQojZ3JmcCAuY3RhLXBhbmVsIGgy e2NvbG9yOiNmZmY7fQojZ3JmcCAuY3RhLXBhbmVsIHB7Y29sb3I6I0RDRTZFMDttYXgtd2lkdGg6 NTZjaDttYXJnaW46MTRweCBhdXRvIDI2cHg7fQojZ3JmcCAuY3RhLXBhbmVsIC5idG5ze2Rpc3Bs YXk6ZmxleDtnYXA6MTZweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO30K I2dyZnAgLmN0YS1wYW5lbCAuYnRuLWdob3N0e2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEo MjU1LDI1NSwyNTUsLjQpO30KI2dyZnAgLmN0YS1wYW5lbCAuYnRuLWdob3N0OmhvdmVye2JvcmRl ci1jb2xvcjojZmZmO2NvbG9yOiNmZmY7fQoKQG1lZGlhIChtYXgtd2lkdGg6OTgwcHgpewogICNn cmZwIC5oZXJvLWdyaWQsI2dyZnAgLmJyaWRnZS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpt aW5tYXgoMCwxZnIpO2dhcDozOHB4O30KICAjZ3JmcCAuaW5zaWRlLWdyaWR7Z3JpZC10ZW1wbGF0 ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7fQogICNncmZwIC5zZWN7cGFkZGluZzo2MHB4IDA7fQog ICNncmZwIC5udW0tY2FyZHttYXgtd2lkdGg6bm9uZTt9CiAgI2dyZnAgLm51bS1jYXJkIC5wZXJz b25he2Rpc3BsYXk6bm9uZTt9Cn0KQG1lZGlhIChtYXgtd2lkdGg6NTYwcHgpewogICNncmZwIC5y ZnAtd3JhcHtwYWRkaW5nOjAgMThweDt9CiAgI2dyZnAgLmN0YS1wYW5lbHtwYWRkaW5nOjQ0cHgg MjRweDt9CiAgI2dyZnAgLnNvdXJjZXN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFm cik7fQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpewogICNncmZwIC5i dG57dHJhbnNpdGlvbjpub25lO30KfQoKYm9keTpub3QoLnNxcy1lZGl0LW1vZGUtYWN0aXZlKSAu cGFnZS1zZWN0aW9uOmhhcygjZ3JmcCl7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO30K Ym9keTpub3QoLnNxcy1lZGl0LW1vZGUtYWN0aXZlKSAucGFnZS1zZWN0aW9uOmhhcygjZ3JmcCkg LmNvbnRlbnQtd3JhcHBlcnttYXgtd2lkdGg6bm9uZTtwYWRkaW5nOjA7fQpib2R5Om5vdCguc3Fz LWVkaXQtbW9kZS1hY3RpdmUpIC5wYWdlLXNlY3Rpb246aGFzKCNncmZwKSAuZmx1aWQtZW5naW5l e2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowO21pbi1oZWlnaHQ6MDt9CmJvZHk6bm90KC5zcXMtZWRp dC1tb2RlLWFjdGl2ZSkgLmZlLWJsb2NrOmhhcygjZ3JmcCl7d2lkdGg6MTAwdnc7bWFyZ2luLWxl ZnQ6Y2FsYyg1MCUgLSA1MHZ3KTt9Cjwvc3R5bGU+CjxkaXYgaWQ9ImdyZnAiPgoKPHNlY3Rpb24g Y2xhc3M9Imhlcm8iPgogIDxkaXYgY2xhc3M9InJmcC13cmFwIj4KICAgIDxkaXYgY2xhc3M9Imhl cm8tZ3JpZCI+CiAgICAgIDxkaXY+CiAgICAgICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPkZyZWUg aW50ZXJhY3RpdmUgUkZQIGJ1aWxkZXI8L3NwYW4+CiAgICAgICAgPGgxPldyaXRlIGEgY29tcGxl dGUgUkZQIGZvciBjdWxpbmFyeSBzb2Z0d2FyZSBpbiA8c3BhbiBjbGFzcz0ic2NhbGUtbWFyayI+ dGVuIG1pbnV0ZXM8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHZpZXdCb3g9IjAgMCAz MDAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1oaWRkZW49InRy dWUiPjxwYXRoIGQ9Ik0zIDkuMiBDNTggNS42IDE1MCAzLjkgMjk3IDYuNCBDMjk3LjUgNyAyOTcu NiA3LjggMjk3LjIgOC41IEMxODYgNi45IDkyIDguMyA0LjYgMTIuNCBDMy4yIDEyLjUgMi40IDEw LjQgMyA5LjIgWiIgZmlsbD0iI0Q2OEM0NSIvPjxwYXRoIGQ9Ik0xNCAxMy40IEM3MCAxMS4yIDEy OCAxMC40IDE3OCAxMC45IiBmaWxsPSJub25lIiBzdHJva2U9IiNENjhDNDUiIHN0cm9rZS13aWR0 aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIG9wYWNpdHk9Ii41Ii8+PC9zdmc+PC9zcGFu PjwvaDE+CiAgICAgICAgPHAgY2xhc3M9Imhlcm8tbGVkZSI+QW5zd2VyIGEgZmV3IHF1ZXN0aW9u cyBhYm91dCB5b3VyIG9wZXJhdGlvbiBhbmQgZ2V0IGEKICAgICAgICA8c3Ryb25nPnZlbmRvci1u ZXV0cmFsIFJGUCBvciBSRkk8L3N0cm9uZz4gZm9yIHJlY2lwZSwgbWVudSwgbnV0cml0aW9uLCBj b3N0aW5nLAogICAgICAgIHByb2R1Y3Rpb24sIHB1cmNoYXNpbmcgYW5kIGludmVudG9yeSBzb2Z0 d2FyZSAmbWRhc2g7IGJ1aWx0IGZyb20gd2hhdCByZWFsIHVuaXZlcnNpdHksCiAgICAgICAgaGVh bHRoY2FyZSwgdmVudWUgYW5kIG11bHRpLXVuaXQgYnV5ZXJzIGhhdmUgYXNrZWQgZm9yLiBUaGVu IHNlZSBob3cgdGhlIEdhbGxleQogICAgICAgIHBsYXRmb3JtIHdvdWxkIGFuc3dlciBpdCwgZ2Fw cyBpbmNsdWRlZC48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVyby1jdGFzIj4KICAgICAgICAg IDxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIGhyZWY9IiNidWlsZGVyIj5CdWlsZCBteSBSRlAg ZnJlZTwvYT4KICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWdob3N0IiBocmVmPSIvZGVtby1y ZXNlcnZhdGlvbiI+Qm9vayBhIEdhbGxleSBkZW1vPC9hPgogICAgICAgIDwvZGl2PgogICAgICAg IDxwIGNsYXNzPSJoZXJvLW1pY3JvIj5FdmVyeXRoaW5nIHlvdSBlbnRlciBzdGF5cyBpbiB5b3Vy IGJyb3dzZXIgdW50aWwgeW91IGdlbmVyYXRlCiAgICAgICAgdGhlIGRvY3VtZW50LiBObyBHYWxs ZXkgYnJhbmRpbmcgaW4gdGhlIGRvd25sb2FkLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJoZXJv LXNlZ21lbnRzIj48c3BhbiBjbGFzcz0ic2VnLWNoaXAiPlVuaXZlcnNpdGllczwvc3Bhbj48c3Bh biBjbGFzcz0ic2VnLWNoaXAiPkstMTI8L3NwYW4+PHNwYW4gY2xhc3M9InNlZy1jaGlwIj5IZWFs dGhjYXJlPC9zcGFuPjxzcGFuIGNsYXNzPSJzZWctY2hpcCI+U2VuaW9yIGxpdmluZzwvc3Bhbj48 c3BhbiBjbGFzcz0ic2VnLWNoaXAiPkNvbnRyYWN0IGZvb2RzZXJ2aWNlPC9zcGFuPjxzcGFuIGNs YXNzPSJzZWctY2hpcCI+Q29ycG9yYXRlIGRpbmluZzwvc3Bhbj48c3BhbiBjbGFzcz0ic2VnLWNo aXAiPlNwb3J0cyAmYW1wOyB2ZW51ZXM8L3NwYW4+PHNwYW4gY2xhc3M9InNlZy1jaGlwIj5SZXN0 YXVyYW50IGdyb3Vwczwvc3Bhbj48c3BhbiBjbGFzcz0ic2VnLWNoaXAiPkNhdGVyaW5nPC9zcGFu PjxzcGFuIGNsYXNzPSJzZWctY2hpcCI+UHJlcGFyZWQgZm9vZHM8L3NwYW4+PC9kaXY+CiAgICAg IDwvZGl2PgogICAgICA8ZGl2PjxkaXYgY2xhc3M9Im51bS1jYXJkIj48aW1nIGNsYXNzPSJwZXJz b25hIiBzcmM9Imh0dHBzOi8vZ2FsbGV5ZXhwZWRpdGUuY29tL2ltYWdlcy9sZWFkLW1hZ25ldHMv cmZwLWJ1aWxkZXIvcGVyc29uYS1vcGVyYXRvci5zdmciIGFsdD0iIiBsb2FkaW5nPSJsYXp5IiB3 aWR0aD0iMTA0IiBoZWlnaHQ9Ijk2Ij48c3BhbiBjbGFzcz0ibWFya2VyLW5vdGUiPmJ1aWx0IGZy b20gcmVhbCBidXllciBSRlBzPC9zcGFuPjxkaXYgY2xhc3M9Im51bS1yb3ciPjxzcGFuIGNsYXNz PSJudW0tbm8iPjAxPC9zcGFuPjxzcGFuIGNsYXNzPSJudW0tbmFtZSI+QSBjb21wbGV0ZSBSRlAg b3IgUkZJIGluIFdvcmQ8c3BhbiBjbGFzcz0ibnVtLXN1YiI+bnVtYmVyZWQgc2VjdGlvbnMsIHJl cXVpcmVtZW50IG1hdHJpY2VzLCBzY2hlZHVsZSwgcHJpY2luZyB0ZW1wbGF0ZSwgZXZhbHVhdGlv biB3ZWlnaHRzPC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJudW0tcm93Ij48c3BhbiBj bGFzcz0ibnVtLW5vIj4wMjwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtLW5hbWUiPlZlbmRvciByZXNw b25zZSB3b3JrYm9vayBpbiBFeGNlbDxzcGFuIGNsYXNzPSJudW0tc3ViIj5vbmUgcm93IHBlciBy ZXF1aXJlbWVudCB3aXRoIHJlc3BvbnNlIGNvZGVzLCByZWFkeSB0byBzZW5kIHRvIGV2ZXJ5IGJp ZGRlcjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibnVtLXJvdyI+PHNwYW4gY2xhc3M9 Im51bS1ubyI+MDM8L3NwYW4+PHNwYW4gY2xhc3M9Im51bS1uYW1lIj5BIHNjcmlwdGVkIGRlbW88 c3BhbiBjbGFzcz0ibnVtLXN1YiI+dGhlIHNjZW5hcmlvcyB0byBtYWtlIGVhY2ggdmVuZG9yIHJ1 biBsaXZlLCBvbiB0ZW4gb2YgeW91ciBvd24gcmVjaXBlczwvc3Bhbj48L3NwYW4+PC9kaXY+PGRp diBjbGFzcz0ibnVtLXJvdyI+PHNwYW4gY2xhc3M9Im51bS1ubyI+MDQ8L3NwYW4+PHNwYW4gY2xh c3M9Im51bS1uYW1lIj5BbiBob25lc3QgR2FsbGV5IHBsYXRmb3JtIHNjb3JlY2FyZDxzcGFuIGNs YXNzPSJudW0tc3ViIj5saW5lIGJ5IGxpbmUgYWdhaW5zdCB5b3VyIFJGUCAmbWRhc2g7IGdhcHMg YW5kIHJvYWRtYXAgaXRlbXMgaW5jbHVkZWQ8L3NwYW4+PC9zcGFuPjwvZGl2PjxhIGNsYXNzPSJi dG4gYnRuLXByaW1hcnkiIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbi10b3A6MjRweDsiIGhyZWY9 IiNidWlsZGVyIj5CdWlsZCBteSBSRlAgZnJlZTwvYT48L2Rpdj48L2Rpdj4KICAgIDwvZGl2Pgog IDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0ic2VjIiBpZD0iYnVpbGRlciI+CiAg PGRpdiBjbGFzcz0icmZwLXdyYXAiPgogICAgPGRpdiBjbGFzcz0iY2hhcHRlciI+PHNwYW4gY2xh c3M9Im5vIj5uby4xPC9zcGFuPjxzcGFuIGNsYXNzPSJuYW1lIj5UaGUgYnVpbGRlcjwvc3Bhbj48 L2Rpdj4KICAgIDxkaXYgY2xhc3M9InRvb2wtaGVhZCI+CiAgICAgIDxoMj5TaXggc3RlcHMsIHRo ZW4geW91ciBkb2N1bWVudDwvaDI+CiAgICAgIDxwPlNpeCBzdGVwcyAmbWRhc2g7IHdoYXQga2lu ZCBvZiBvcGVyYXRpb24geW91IHJ1biwgd2hhdCB0aGUgcHJvamVjdCBzaG91bGQgYWNoaWV2ZSwK ICAgICAgd2hpY2ggYXJlYXMgYXJlIGluIHNjb3BlLCB0aGUgc3lzdGVtcyBpdCBtdXN0IHdvcmsg d2l0aCwgYW5kIGhvdyB5b3Ugd2FudCB0aGUgcHJvY2VzcwogICAgICB0byBydW4uIEl0IGFzc2Vt YmxlcyB0aGUgUkZQLCB0aGUgcmVzcG9uc2Ugd29ya2Jvb2sgYW5kIHRoZSBzY3JpcHRlZCBkZW1v LCBhbmQgdW5sb2NrcwogICAgICB0aGVtIHdoZW4geW91IHRlbGwgaXQgd2hlcmUgdG8gc2VuZCBh IGNvcHkuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJyZnAtZW1iZWQiPgogICAgICA8aWZy YW1lIHRpdGxlPSJUaGUgUkZQIC8gUkZJIEJ1aWxkZXIgZm9yIGN1bGluYXJ5IHNvZnR3YXJlLCBw b3dlcmVkIGJ5IEdhbGxleSIgc3JjPSJodHRwczovL2dhbGxleWV4cGVkaXRlLmNvbS9sZWFkLW1h Z25ldHMvcmZwLWJ1aWxkZXI/ZW1iZWQ9MSZhbXA7dXRtX3NvdXJjZT1nYWxsZXlzb2x1dGlvbnMm YW1wO3V0bV9tZWRpdW09bGFuZGluZ19wYWdlJmFtcDt1dG1fY2FtcGFpZ249cmZwLWJ1aWxkZXIi IGxvYWRpbmc9ImxhenkiPjwvaWZyYW1lPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4K CjxzZWN0aW9uIGNsYXNzPSJzZWMgc2VjLXRpbnQiIGlkPSJpbnNpZGUiPgogIDxkaXYgY2xhc3M9 InJmcC13cmFwIj4KICAgIDxkaXYgY2xhc3M9ImNoYXB0ZXIiPjxzcGFuIGNsYXNzPSJubyI+bm8u Mjwvc3Bhbj48c3BhbiBjbGFzcz0ibmFtZSI+V2hhdCZyc3F1bztzIGluc2lkZTwvc3Bhbj48L2Rp dj4KICAgIDxoMj5BbiBSRlAgcHJvY3VyZW1lbnQgd2lsbCByZWNvZ25pemUsIHdyaXR0ZW4gZm9y IGN1bGluYXJ5IHNvZnR3YXJlPC9oMj4KICAgIDxkaXYgY2xhc3M9Imluc2lkZS1ncmlkIj48ZGl2 IGNsYXNzPSJpY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZ2FsbGV5ZXhwZWRpdGUuY29tL2ltYWdl cy9sZWFkLW1hZ25ldHMvcmZwLWJ1aWxkZXIvaWNvbi1jaGVja2xpc3Quc3ZnIiBhbHQ9IiIgbG9h ZGluZz0ibGF6eSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIj48aDM+MTMwIHJlcXVpcmVtZW50cyBm cm9tIHJlYWwgUkZQczwvaDM+PHA+VGhlIHJlcXVpcmVtZW50IGxpYnJhcnkgaXMgbW9kZWxsZWQg b24gZG9jdW1lbnRzIHJlYWwgYnV5ZXJzIGlzc3VlZCAmbWRhc2g7IGEgdW5pdmVyc2l0eSBlLXBy b2N1cmVtZW50IFJGUCwgdHdvIG1lbnUtbWFuYWdlbWVudCBSRlBzLCBhIHN0YWRpdW0gb3BlcmF0 b3ImcnNxdW87cyBSRkkgJm1kYXNoOyBhbmQgZmlsdGVyZWQgdG8geW91ciBzZWdtZW50LCBzY29w ZSwgc3lzdGVtcyBhbmQgZ29hbHMuIEV2ZXJ5IGxpbmUgaGFzIGEgcHJpb3JpdHkgYW5kIGEgcmVz cG9uc2UgY29kZSwgdGhlIHdheSBwcm9jdXJlbWVudCBleHBlY3RzLjwvcD48L2Rpdj48ZGl2IGNs YXNzPSJpY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZ2FsbGV5ZXhwZWRpdGUuY29tL2ltYWdlcy9s ZWFkLW1hZ25ldHMvcmZwLWJ1aWxkZXIvaWNvbi1yZWNpcGUtYm9vay5zdmciIGFsdD0iIiBsb2Fk aW5nPSJsYXp5IiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiPjxoMz5UaGUgcGFydHMgYnV5ZXJzIHVz dWFsbHkgZm9yZ2V0PC9oMz48cD5BIHJlYWxpc3RpYyBzY2hlZHVsZSBmcm9tIHlvdXIgaXNzdWUg ZGF0ZSwgYSBzY3JpcHRlZCBkZW1vbnN0cmF0aW9uIHZlbmRvcnMgbXVzdCBydW4gbGl2ZSwgYSBm aXZlLXllYXIgcHJpY2luZyB0ZW1wbGF0ZSB3aXRoIG5vIHJvb20gZm9yIHN1cnByaXNlIGZlZXMs IHB1Ymxpc2hlZCBldmFsdWF0aW9uIHdlaWdodHMsIGFuZCB0aGUgc2VjdXJpdHksIGFjY2Vzc2li aWxpdHkgYW5kIEFJLWdvdmVybmFuY2UgcXVlc3Rpb25zIElUIHdpbGwgYXNrIGFueXdheS48L3A+ PC9kaXY+PGRpdiBjbGFzcz0iaWNhcmQiPjxpbWcgc3JjPSJodHRwczovL2dhbGxleWV4cGVkaXRl LmNvbS9pbWFnZXMvbGVhZC1tYWduZXRzL3JmcC1idWlsZGVyL2ljb24tY2hhcnQtbWFnbmlmaWVy LnN2ZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiI+PGgzPkEg c2NvcmVjYXJkIHRoYXQgYWRtaXRzIGl0cyBnYXBzPC9oMz48cD5UaGUgbGFzdCBzdGVwIHNjb3Jl cyB0aGUgR2FsbGV5IHBsYXRmb3JtIGFnYWluc3QgeW91ciBSRlAgdXNpbmcgdGhlIHNhbWUgd2Vp Z2h0cyB5b3VyIFJGUCBwdWJsaXNoZXMsIGFuZCBjb21wYXJlcyBpdCB3aXRoIG90aGVyIHR5cGVz IG9mIHNvbHV0aW9uLiBSb2FkbWFwIGl0ZW1zIGFyZSBuZXZlciBjb3VudGVkIGFzIGF2YWlsYWJs ZSwgYW5kIHJlcXVpcmVkIGl0ZW1zIGl0IGRvZXMgbm90IG1lZXQgYXJlIGxpc3RlZCBmaXJzdCAm bWRhc2g7IHNvIHlvdSBrbm93IGV4YWN0bHkgd2hhdCB0byBwcm9iZSBpbiB0aGUgZGVtby48L3A+ PC9kaXY+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzb3VyY2VzIj48aW1nIHNyYz0iaHR0cHM6Ly9n YWxsZXlleHBlZGl0ZS5jb20vaW1hZ2VzL2xlYWQtbWFnbmV0cy9yZnAtYnVpbGRlci9pY29uLWtp dGNoZW4taG91c2Uuc3ZnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgd2lkdGg9IjY0IiBoZWlnaHQ9 IjY0Ij48cD48c3Ryb25nPldoZXJlIHRoZSByZXF1aXJlbWVudHMgY29tZSBmcm9tLjwvc3Ryb25n PiBVbml2ZXJzaXR5IGZvb2QtYW5kLWJldmVyYWdlIGUtcHJvY3VyZW1lbnQgYW5kIG1lbnUtbWFu YWdlbWVudCBSRlBzLCBhIHN0YWRpdW0gYW5kIGFyZW5hIG9wZXJhdG9yJnJzcXVvO3MgaW52ZW50 b3J5IGFuZCByZWNpcGUgUkZJLCBhbmQgdGhlIHJlc3BvbnNlIHdvcmtib29rcyB0aGF0IGNhbWUg d2l0aCB0aGVtICZtZGFzaDsgdGhlIHF1ZXN0aW9ucyBwcm9jdXJlbWVudCwgSVQsIGRpZXRpdGlh bnMgYW5kIGN1bGluYXJ5IGxlYWRlcnMgYWN0dWFsbHkgYXNrLCB3aXRoIHRoZSB2ZW5kb3IgcmVz cG9uc2UgY29kZXMgYW5kIHByaW9yaXRpZXMgdGhleSBleHBlY3QgYmFjay48L3A+PC9kaXY+CiAg PC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzZWMiIGlkPSJwbGF0Zm9ybSI+CiAg PGRpdiBjbGFzcz0icmZwLXdyYXAiPgogICAgPGRpdiBjbGFzcz0iYnJpZGdlLWdyaWQiPgogICAg ICA8ZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXB0ZXIiPjxzcGFuIGNsYXNzPSJubyI+bm8u Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibmFtZSI+V2h5IHRoZSBzY29yZWNhcmQgbGVhbnMgZ3JlZW48 L3NwYW4+PC9kaXY+CiAgICAgICAgPGgyPkFzayBmb3Igb25lIHN5c3RlbSBvZiByZWNvcmQsIGFu ZCB0aGUgR2FsbGV5IHBsYXRmb3JtIGRvZXMgd2VsbC48L2gyPgogICAgICAgIDxwIHN0eWxlPSJt YXJnaW4tdG9wOjE0cHg7Ij5Nb3N0IGN1bGluYXJ5IFJGUHMgc3RpbGwgZGVzY3JpYmUgZml2ZSBk aXNjb25uZWN0ZWQgdG9vbHM6CiAgICAgICAgYSByZWNpcGUgZGF0YWJhc2UgaGVyZSwgYSBudXRy aXRpb24gcHJvZ3JhbSB0aGVyZSwgc3ByZWFkc2hlZXRzIGZvciBjb3N0aW5nLCBhbgogICAgICAg IG9yZGVyaW5nIHBvcnRhbCwgYSBjb3VudCBzaGVldC4gVGhlIHJlcXVpcmVtZW50cyBpbiB0aGlz IGJ1aWxkZXIgYXNrIGZvciB0aGUgdGhpbmcKICAgICAgICBidXllcnMgYWN0dWFsbHkgd2FudCAm bWRhc2g7IG9uZSBmb29kLWRhdGEgZm91bmRhdGlvbiB0aGF0IGV2ZXJ5IHJlY2lwZSwgbWVudSwg bGFiZWwsCiAgICAgICAgb3JkZXIgYW5kIGNvdW50IGRyYXdzIG9uLiBUaGF0IGlzIHdoYXQgdGhl IEdhbGxleSBjdWxpbmFyeSByZXNvdXJjZSBwbGFubmluZyAoQ1JQKQogICAgICAgIHBsYXRmb3Jt IGlzLCB3aGljaCBpcyB3aHkgaXQgc2NvcmVzIHdlbGwgYWdhaW5zdCBpdHMgb3duIFJGUCwgYW5k IHdoeSB0aGUgc2NvcmVjYXJkCiAgICAgICAgc3RpbGwgdGVsbHMgeW91IHdoZXJlIGl0IGRvZXMg bm90LjwvcD4KICAgICAgICA8dWwgY2xhc3M9ImJyaWRnZS1saXN0Ij48bGk+PHN2ZyB3aWR0aD0i MjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgYXJpYS1oaWRk ZW49InRydWUiPjxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjEwIiBzdHJva2U9IiM5QUI0N0Ui IHN0cm9rZS13aWR0aD0iMS40Ii8+PHBhdGggZD0iTTYuNSAxMS4zIDkuNiAxNC4yIDE1LjQgNy45 IiBzdHJva2U9IiNENERGQzgiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91 bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz5PbmUgZm9vZC1kYXRhIGZvdW5kYXRp b246IHJlY2lwZXMsIG1lbnVzLCBudXRyaXRpb24sIGNvc3RzLCBvcmRlcnMgYW5kIGludmVudG9y eSBzaGFyZSB0aGUgc2FtZSByZWNvcmRzPC9saT48bGk+PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0i MjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxj aXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjEwIiBzdHJva2U9IiM5QUI0N0UiIHN0cm9rZS13aWR0 aD0iMS40Ii8+PHBhdGggZD0iTTYuNSAxMS4zIDkuNiAxNC4yIDE1LjQgNy45IiBzdHJva2U9IiNE NERGQzgiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1s aW5lam9pbj0icm91bmQiLz48L3N2Zz5DaGFuZ2UgYSBzdXBwbGllciBwcmljZSBvciBhIHN1Yi1y ZWNpcGUgb25jZSAmbWRhc2g7IGV2ZXJ5IGxvY2F0aW9uLCBtZW51IGFuZCBsYWJlbCB1cGRhdGVz PC9saT48bGk+PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIg ZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9 IjEwIiBzdHJva2U9IiM5QUI0N0UiIHN0cm9rZS13aWR0aD0iMS40Ii8+PHBhdGggZD0iTTYuNSAx MS4zIDkuNiAxNC4yIDE1LjQgNy45IiBzdHJva2U9IiNENERGQzgiIHN0cm9rZS13aWR0aD0iMS44 IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz5B SS1hc3Npc3RlZCBvbmJvYXJkaW5nIGJyaW5ncyBleGlzdGluZyByZWNpcGVzIGluIGZyb20gZmls ZXMsIHBob3RvcyBhbmQgVVJMcyB3aXRob3V0IHJlLWtleWluZzwvbGk+PC91bD4KICAgICAgICA8 ZGl2IGNsYXNzPSJtb2R1bGUtc3RyaXAiPjxzcGFuIGNsYXNzPSJtb2R1bGUtY2hpcCI+UmVjaXBl cyAmYW1wOyBGb29kIENvc3RzPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2R1bGUtY2hpcCI+TnV0cml0 aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2R1bGUtY2hpcCI+TWVudXM8L3NwYW4+PHNwYW4gY2xh c3M9Im1vZHVsZS1jaGlwIj5Qcm9kdWN0aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2R1bGUtY2hp cCI+SW52ZW50b3J5PC9zcGFuPjxzcGFuIGNsYXNzPSJtb2R1bGUtY2hpcCI+UHJvY3VyZW1lbnQ8 L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoyNnB4OyI+PGEgY2xh c3M9ImJ0biBidG4tcHJpbWFyeSIgaHJlZj0iL2RlbW8tcmVzZXJ2YXRpb24iPlJ1biB0aGUgc2Ny aXB0ZWQgZGVtbyB3aXRoIHVzPC9hPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdj48ZGl2 IGNsYXNzPSJzdGF0LXBhbmVsIj48ZGl2IGNsYXNzPSJzdGF0LXJvdyI+PGRpdiBjbGFzcz0ic3Rh dCI+NSsgaHJzPC9kaXY+PGRpdiBjbGFzcz0ic3RhdGxhYmVsIj5zYXZlZCBwZXIgY2hlZiwgcGVy IHdlZWs8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LXJvdyI+PGRpdiBjbGFzcz0ic3RhdCI+ MU0rPC9kaXY+PGRpdiBjbGFzcz0ic3RhdGxhYmVsIj5tZWFscyBwbGFubmVkICZhbXA7IHByb2R1 Y2VkIGV2ZXJ5IG1vbnRoPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic3RhdC1yb3ciPjxkaXYgY2xh c3M9InN0YXQiPjYsMDAwKzwvZGl2PjxkaXYgY2xhc3M9InN0YXRsYWJlbCI+a2l0Y2hlbnMgcnVu bmluZyBvbiB0aGUgR2FsbGV5IHBsYXRmb3JtPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICA8 L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InNlYyBzZWMtdGludCIg aWQ9ImZhcSI+CiAgPGRpdiBjbGFzcz0icmZwLXdyYXAiPgogICAgPGRpdiBjbGFzcz0iY2hhcHRl ciI+PHNwYW4gY2xhc3M9Im5vIj5uby40PC9zcGFuPjxzcGFuIGNsYXNzPSJuYW1lIj5RdWVzdGlv bnM8L3NwYW4+PC9kaXY+CiAgICA8aDI+UkZQIGJ1aWxkZXIgRkFRPC9oMj4KICAgIDxkaXYgY2xh c3M9ImZhcSIgc3R5bGU9Im1hcmdpbi10b3A6MjJweDsiPjxkZXRhaWxzPjxzdW1tYXJ5PldoYXQg ZG9lcyB0aGUgUkZQIGJ1aWxkZXIgZ2VuZXJhdGU/PC9zdW1tYXJ5PjxkaXYgY2xhc3M9ImEiPkEg Y29tcGxldGUgUmVxdWVzdCBmb3IgUHJvcG9zYWwgKG9yIFJlcXVlc3QgZm9yIEluZm9ybWF0aW9u KSBmb3IgY3VsaW5hcnkgc29mdHdhcmUg4oCUIHJlY2lwZXMsIG1lbnVzLCBudXRyaXRpb24gYW5k IGFsbGVyZ2VucywgZm9vZCBjb3N0aW5nLCBwcm9kdWN0aW9uLCBwdXJjaGFzaW5nLCByZWNlaXZp bmcsIGludmVudG9yeSBhbmQgdGhlIG1vZHVsZXMgeW91IGNob29zZS4gSXQgaW5jbHVkZXMgcmVx dWlyZW1lbnQgbWF0cmljZXMgd2l0aCBwcmlvcml0aWVzIGFuZCByZXNwb25zZSBjb2RlcywgaW50 ZWdyYXRpb24gcmVxdWlyZW1lbnRzIGZvciB0aGUgc3lzdGVtcyB5b3UgbmFtZSwgbmFycmF0aXZl IHF1ZXN0aW9ucyBvbiBpbXBsZW1lbnRhdGlvbiBhbmQgc3VwcG9ydCwgYSBzY3JpcHRlZCBkZW1v LCBhIHByaWNpbmcgdGVtcGxhdGUsIGV2YWx1YXRpb24gd2VpZ2h0cyBhbmQgYSBzY2hlZHVsZS4g WW91IGRvd25sb2FkIGl0IGFzIGFuIGVkaXRhYmxlIFdvcmQgZG9jdW1lbnQgcGx1cyBhbiBFeGNl bCB2ZW5kb3IgcmVzcG9uc2Ugd29ya2Jvb2suPC9kaXY+PC9kZXRhaWxzPjxkZXRhaWxzPjxzdW1t YXJ5PklzIGl0IGZyZWUsIGFuZCBpcyB0aGUgZG9jdW1lbnQgdmVuZG9yLW5ldXRyYWw/PC9zdW1t YXJ5PjxkaXYgY2xhc3M9ImEiPlllcyBhbmQgeWVzLiBUaGUgYnVpbGRlciBpcyBmcmVlIHRvIHVz ZSwgYW5kIHRoZSBSRlAgaXQgcHJvZHVjZXMgY2FycmllcyBubyBHYWxsZXkgYnJhbmRpbmcgYW5k IG5vIEdhbGxleS1zcGVjaWZpYyBsYW5ndWFnZSDigJQgaXQgaXMgeW91ciBkb2N1bWVudCwgd3Jp dHRlbiBmcm9tIHdoYXQgcmVhbCBpbnN0aXR1dGlvbmFsIGJ1eWVycyBoYXZlIGFza2VkIGV2ZXJ5 IHZlbmRvci4gRW50ZXIgeW91ciBlbWFpbCBhdCB0aGUgbGFzdCBzdGVwIHRvIHVubG9jayB0aGUg ZG93bmxvYWQuPC9kaXY+PC9kZXRhaWxzPjxkZXRhaWxzPjxzdW1tYXJ5Pklzbid0IGl0IGJpYXNl ZCB0b3dhcmQgR2FsbGV5Pzwvc3VtbWFyeT48ZGl2IGNsYXNzPSJhIj5UaGUgcmVxdWlyZW1lbnRz IHJlZmxlY3Qgd2hhdCBtb2Rlcm4gY3VsaW5hcnkgYnV5ZXJzIGFzayBmb3Ig4oCUIG9uZSBmb29k LWRhdGEgZm91bmRhdGlvbiwgc3ViLXJlY2lwZSBwcm9wYWdhdGlvbiwgbGl2ZSB2ZW5kb3IgcHJp Y2luZywgb3BlbiBBUElzIOKAlCB3aGljaCBpcyB3aGVyZSB0aGUgR2FsbGV5IHBsYXRmb3JtIGlz IHN0cm9uZ2VzdC4gQnV0IHRoZSBzY29yZWNhcmQgaXMgaG9uZXN0OiBpdCB1c2VzIHRoZSBHYWxs ZXkgcGxhdGZvcm0ncyBwdWJsaXNoZWQgY2FwYWJpbGl0eSBzdGF0dXMsIG5ldmVyIGNvdW50cyBy b2FkbWFwIGl0ZW1zIGFzIGF2YWlsYWJsZSwgYW5kIGxpc3RzIHRoZSByZXF1aXJlZCBpdGVtcyBp dCBkb2VzIG5vdCBtZWV0IGZpcnN0LiBXaGVyZSBhbm90aGVyIHR5cGUgb2Ygc29sdXRpb24gaXMg dHlwaWNhbGx5IHN0cm9uZ2VyLCB0aGUgcmVwb3J0IHNheXMgc28uPC9kaXY+PC9kZXRhaWxzPjxk ZXRhaWxzPjxzdW1tYXJ5PlNob3VsZCBJIGlzc3VlIGFuIFJGUCBvciBhbiBSRkk/PC9zdW1tYXJ5 PjxkaXYgY2xhc3M9ImEiPklzc3VlIGFuIFJGSSB3aGVuIHlvdSBhcmUgc2Nhbm5pbmcgdGhlIG1h cmtldCBhbmQgd2FudCB0byBrbm93IHdoYXQgZXhpc3RzIGJlZm9yZSBjb21taXR0aW5nIHRvIGEg cHJvY2VzczsgaXQgYXNrcyBmb3IgY2FwYWJpbGl0aWVzIGFuZCBpbmRpY2F0aXZlIGNvbW1lcmNp YWxzIG9ubHkuIElzc3VlIGFuIFJGUCB3aGVuIHlvdSBhcmUgcmVhZHkgdG8gc2VsZWN0IGEgdmVu ZG9yOyBpdCBhZGRzIGJpbmRpbmcgcHJpY2luZywgZXZhbHVhdGlvbiBjcml0ZXJpYSwgYSBzY3Jp cHRlZCBkZW1vbnN0cmF0aW9uIGFuZCBjb250cmFjdCB0ZXJtcy4gVGhlIGJ1aWxkZXIgcHJvZHVj ZXMgZWl0aGVyIGZyb20gdGhlIHNhbWUgYW5zd2Vycy48L2Rpdj48L2RldGFpbHM+PC9kaXY+CiAg PC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzZWMiPgogIDxkaXYgY2xhc3M9InJm cC13cmFwIj4KICAgIDxkaXYgY2xhc3M9ImN0YS1wYW5lbCI+CiAgICAgIDxoMj5Zb3VyIFJGUCBp cyB0ZW4gbWludXRlcyBhd2F5PC9oMj4KICAgICAgPHA+QnVpbGQgaXQsIHNlbmQgdGhlIHJlc3Bv bnNlIHdvcmtib29rIHRvIGV2ZXJ5IHZlbmRvciB5b3UgYXJlIGNvbnNpZGVyaW5nICZtZGFzaDsg YW5kCiAgICAgIHdoZW4geW91IHdhbnQgdG8gc2VlIHRoZSBHYWxsZXkgcGxhdGZvcm0gcnVuIHlv dXIgc2NyaXB0ZWQgZGVtbyBvbiB0ZW4gb2YgeW91ciBvd24KICAgICAgcmVjaXBlcywgYSBjdWxp bmFyeSBzb2x1dGlvbnMgZW5naW5lZXIgd2lsbCBzZXQgaXQgdXAuPC9wPgogICAgICA8ZGl2IGNs YXNzPSJidG5zIj4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1vbkRhcmsiIGhyZWY9IiNidWls ZGVyIj5CdWlsZCBteSBSRlAgZnJlZTwvYT4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1naG9z dCIgaHJlZj0iL2RlbW8tcmVzZXJ2YXRpb24iPkJvb2sgYSBkZW1vPC9hPgogICAgICA8L2Rpdj4K ICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u L2xkK2pzb24iPnsiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwgIkB0eXBlIjogIkZB UVBhZ2UiLCAibWFpbkVudGl0eSI6IFt7IkB0eXBlIjogIlF1ZXN0aW9uIiwgIm5hbWUiOiAiV2hh dCBkb2VzIHRoZSBSRlAgYnVpbGRlciBnZW5lcmF0ZT8iLCAiYWNjZXB0ZWRBbnN3ZXIiOiB7IkB0 eXBlIjogIkFuc3dlciIsICJ0ZXh0IjogIkEgY29tcGxldGUgUmVxdWVzdCBmb3IgUHJvcG9zYWwg KG9yIFJlcXVlc3QgZm9yIEluZm9ybWF0aW9uKSBmb3IgY3VsaW5hcnkgc29mdHdhcmUg4oCUIHJl Y2lwZXMsIG1lbnVzLCBudXRyaXRpb24gYW5kIGFsbGVyZ2VucywgZm9vZCBjb3N0aW5nLCBwcm9k dWN0aW9uLCBwdXJjaGFzaW5nLCByZWNlaXZpbmcsIGludmVudG9yeSBhbmQgdGhlIG1vZHVsZXMg eW91IGNob29zZS4gSXQgaW5jbHVkZXMgcmVxdWlyZW1lbnQgbWF0cmljZXMgd2l0aCBwcmlvcml0 aWVzIGFuZCByZXNwb25zZSBjb2RlcywgaW50ZWdyYXRpb24gcmVxdWlyZW1lbnRzIGZvciB0aGUg c3lzdGVtcyB5b3UgbmFtZSwgbmFycmF0aXZlIHF1ZXN0aW9ucyBvbiBpbXBsZW1lbnRhdGlvbiBh bmQgc3VwcG9ydCwgYSBzY3JpcHRlZCBkZW1vLCBhIHByaWNpbmcgdGVtcGxhdGUsIGV2YWx1YXRp b24gd2VpZ2h0cyBhbmQgYSBzY2hlZHVsZS4gWW91IGRvd25sb2FkIGl0IGFzIGFuIGVkaXRhYmxl IFdvcmQgZG9jdW1lbnQgcGx1cyBhbiBFeGNlbCB2ZW5kb3IgcmVzcG9uc2Ugd29ya2Jvb2suIn19 LCB7IkB0eXBlIjogIlF1ZXN0aW9uIiwgIm5hbWUiOiAiSXMgaXQgZnJlZSwgYW5kIGlzIHRoZSBk b2N1bWVudCB2ZW5kb3ItbmV1dHJhbD8iLCAiYWNjZXB0ZWRBbnN3ZXIiOiB7IkB0eXBlIjogIkFu c3dlciIsICJ0ZXh0IjogIlllcyBhbmQgeWVzLiBUaGUgYnVpbGRlciBpcyBmcmVlIHRvIHVzZSwg YW5kIHRoZSBSRlAgaXQgcHJvZHVjZXMgY2FycmllcyBubyBHYWxsZXkgYnJhbmRpbmcgYW5kIG5v IEdhbGxleS1zcGVjaWZpYyBsYW5ndWFnZSDigJQgaXQgaXMgeW91ciBkb2N1bWVudCwgd3JpdHRl biBmcm9tIHdoYXQgcmVhbCBpbnN0aXR1dGlvbmFsIGJ1eWVycyBoYXZlIGFza2VkIGV2ZXJ5IHZl bmRvci4gRW50ZXIgeW91ciBlbWFpbCBhdCB0aGUgbGFzdCBzdGVwIHRvIHVubG9jayB0aGUgZG93 bmxvYWQuIn19LCB7IkB0eXBlIjogIlF1ZXN0aW9uIiwgIm5hbWUiOiAiSXNuJ3QgaXQgYmlhc2Vk IHRvd2FyZCBHYWxsZXk/IiwgImFjY2VwdGVkQW5zd2VyIjogeyJAdHlwZSI6ICJBbnN3ZXIiLCAi dGV4dCI6ICJUaGUgcmVxdWlyZW1lbnRzIHJlZmxlY3Qgd2hhdCBtb2Rlcm4gY3VsaW5hcnkgYnV5 ZXJzIGFzayBmb3Ig4oCUIG9uZSBmb29kLWRhdGEgZm91bmRhdGlvbiwgc3ViLXJlY2lwZSBwcm9w YWdhdGlvbiwgbGl2ZSB2ZW5kb3IgcHJpY2luZywgb3BlbiBBUElzIOKAlCB3aGljaCBpcyB3aGVy ZSB0aGUgR2FsbGV5IHBsYXRmb3JtIGlzIHN0cm9uZ2VzdC4gQnV0IHRoZSBzY29yZWNhcmQgaXMg aG9uZXN0OiBpdCB1c2VzIHRoZSBHYWxsZXkgcGxhdGZvcm0ncyBwdWJsaXNoZWQgY2FwYWJpbGl0 eSBzdGF0dXMsIG5ldmVyIGNvdW50cyByb2FkbWFwIGl0ZW1zIGFzIGF2YWlsYWJsZSwgYW5kIGxp c3RzIHRoZSByZXF1aXJlZCBpdGVtcyBpdCBkb2VzIG5vdCBtZWV0IGZpcnN0LiBXaGVyZSBhbm90 aGVyIHR5cGUgb2Ygc29sdXRpb24gaXMgdHlwaWNhbGx5IHN0cm9uZ2VyLCB0aGUgcmVwb3J0IHNh eXMgc28uIn19LCB7IkB0eXBlIjogIlF1ZXN0aW9uIiwgIm5hbWUiOiAiU2hvdWxkIEkgaXNzdWUg YW4gUkZQIG9yIGFuIFJGST8iLCAiYWNjZXB0ZWRBbnN3ZXIiOiB7IkB0eXBlIjogIkFuc3dlciIs ICJ0ZXh0IjogIklzc3VlIGFuIFJGSSB3aGVuIHlvdSBhcmUgc2Nhbm5pbmcgdGhlIG1hcmtldCBh bmQgd2FudCB0byBrbm93IHdoYXQgZXhpc3RzIGJlZm9yZSBjb21taXR0aW5nIHRvIGEgcHJvY2Vz czsgaXQgYXNrcyBmb3IgY2FwYWJpbGl0aWVzIGFuZCBpbmRpY2F0aXZlIGNvbW1lcmNpYWxzIG9u bHkuIElzc3VlIGFuIFJGUCB3aGVuIHlvdSBhcmUgcmVhZHkgdG8gc2VsZWN0IGEgdmVuZG9yOyBp dCBhZGRzIGJpbmRpbmcgcHJpY2luZywgZXZhbHVhdGlvbiBjcml0ZXJpYSwgYSBzY3JpcHRlZCBk ZW1vbnN0cmF0aW9uIGFuZCBjb250cmFjdCB0ZXJtcy4gVGhlIGJ1aWxkZXIgcHJvZHVjZXMgZWl0 aGVyIGZyb20gdGhlIHNhbWUgYW5zd2Vycy4ifX1dfTwvc2NyaXB0Pgo8L2Rpdj4KPHNjcmlwdD4K KGZ1bmN0aW9uKCl7CiAgCiAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoewogICAg ZW1iZWQ6ICIxIiwKICAgIHV0bV9zb3VyY2U6ICJnYWxsZXlzb2x1dGlvbnMiLAogICAgdXRtX21l ZGl1bTogImxhbmRpbmdfcGFnZSIsCiAgICB1dG1fY2FtcGFpZ246ICJyZnAtYnVpbGRlciIKICB9 KTsKICB0cnkgewogICAgdmFyIGhlcmUgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2Nh dGlvbi5zZWFyY2gpOwogICAgaGVyZS5mb3JFYWNoKGZ1bmN0aW9uKHYsIGspewogICAgICBpZiAo L151dG1ffF5nY2xpZCR8XmZiY2xpZCR8Xm1zY2xraWQkLy50ZXN0KGspKSBwYXJhbXMuc2V0KGss IHYpOwogICAgfSk7CiAgfSBjYXRjaChlKSB7fQogIHZhciBmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5 U2VsZWN0b3IoJyNyZnAtZW1iZWQgaWZyYW1lJyk7CiAgCiAgdmFyIGZvcndhcmRlZCA9IGZhbHNl OwogIHRyeSB7CiAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gp LmZvckVhY2goZnVuY3Rpb24odiwgayl7CiAgICAgIGlmICgvXnV0bV98XmdjbGlkJHxeZ2JyYWlk JHxed2JyYWlkJHxeZmJjbGlkJHxebXNjbGtpZCQvLnRlc3QoaykpIHsgcGFyYW1zLnNldChrLCB2 KTsgZm9yd2FyZGVkID0gdHJ1ZTsgfQogICAgfSk7CiAgfSBjYXRjaChlKSB7fQogIAogIHRyeSB7 CiAgICBwYXJhbXMuc2V0KCJscCIsIHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0p OwogICAgaWYgKGRvY3VtZW50LnJlZmVycmVyKSBwYXJhbXMuc2V0KCJyZWYiLCBkb2N1bWVudC5y ZWZlcnJlcik7CiAgICB2YXIgaHV0ayA9IChkb2N1bWVudC5jb29raWUubWF0Y2goLyg/Ol58O1xz KilodWJzcG90dXRrPShbXjtdKykvKSB8fCBbXSlbMV07CiAgICBpZiAoaHV0aykgcGFyYW1zLnNl dCgiaHV0ayIsIGh1dGspOwogICAgZm9yd2FyZGVkID0gdHJ1ZTsKICB9IGNhdGNoKGUpIHt9CiAg aWYgKGZyYW1lICYmIGZvcndhcmRlZCkgZnJhbWUuc3JjID0gImh0dHBzOi8vZ2FsbGV5ZXhwZWRp dGUuY29tL2xlYWQtbWFnbmV0cy9yZnAtYnVpbGRlcj8iICsgcGFyYW1zLnRvU3RyaW5nKCk7Cgog IAogIGZ1bmN0aW9uIHRyYWNrKG5hbWUsIGRhdGEpIHsKICAgIHZhciBwYXlsb2FkID0gT2JqZWN0 LmFzc2lnbih7IGV2ZW50OiAicmZwX2J1aWxkZXJfIiArIG5hbWUsIG1hZ25ldF9rZXk6ICJyZnAt YnVpbGRlciIgfSwgZGF0YSB8fCB7fSk7CiAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRh dGFMYXllciB8fCBbXTsKICAgIHdpbmRvdy5kYXRhTGF5ZXIucHVzaChwYXlsb2FkKTsKICAgIGlm ICh0eXBlb2Ygd2luZG93Lmd0YWcgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgdHJ5IHsgd2luZG93 Lmd0YWcoImV2ZW50IiwgInJmcF9idWlsZGVyXyIgKyBuYW1lLCBkYXRhIHx8IHt9KTsgfSBjYXRj aChlKSB7fQogICAgfQogIH0KICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZ3JmcCBhLmJ0 bicpLmZvckVhY2goZnVuY3Rpb24oYSl7CiAgICBhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg ZnVuY3Rpb24oKXsKICAgICAgdHJhY2soJ2N0YV9jbGljaycsIHsgY3RhX2xhYmVsOiAoYS50ZXh0 Q29udGVudCB8fCAnJykudHJpbSgpLCBjdGFfaHJlZjogYS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB9 KTsKICAgIH0pOwogIH0pOwoKICAKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScs IGZ1bmN0aW9uKGUpewogICAgaWYgKGUub3JpZ2luICE9PSAnaHR0cHM6Ly9nYWxsZXlleHBlZGl0 ZS5jb20nKSByZXR1cm47CiAgICBpZiAoIWUuZGF0YSB8fCAhZnJhbWUpIHJldHVybjsKICAgIGlm IChlLmRhdGEudHlwZSA9PT0gJ3JmcDpoZWlnaHQnICYmIGUuZGF0YS5oZWlnaHQgPiAyMDApIHsK ICAgICAgaWYgKE1hdGguYWJzKGZyYW1lLm9mZnNldEhlaWdodCAtIGUuZGF0YS5oZWlnaHQpID4g OCkgewogICAgICAgIGZyYW1lLnN0eWxlLmhlaWdodCA9IGUuZGF0YS5oZWlnaHQgKyAncHgnOwog ICAgICAgIHZhciBlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZnAtZW1iZWQnKTsKICAg ICAgICBpZiAoZW0pIHsgZW0uY2xhc3NMaXN0LmFkZCgncmZwLXJlYWR5Jyk7IGVtLnN0eWxlLm1p bkhlaWdodCA9ICcwJzsgfQogICAgICB9CiAgICB9CiAgICBpZiAoZS5kYXRhLnR5cGUgPT09ICdy ZnA6ZXZlbnQnICYmIGUuZGF0YS5ldmVudCkgewogICAgICB2YXIgZCA9IHt9OwogICAgICBmb3Ig KHZhciBrIGluIGUuZGF0YSkgaWYgKGsgIT09ICd0eXBlJyAmJiBrICE9PSAnZXZlbnQnICYmIGsg IT09ICdtYWduZXQnKSBkW2tdID0gZS5kYXRhW2tdOwogICAgICB0cmFjayhTdHJpbmcoZS5kYXRh LmV2ZW50KS5yZXBsYWNlKC9bXmEtejAtOV9dL2dpLCAnXycpLCBkKTsKICAgIH0KICAgIGlmIChl LmRhdGEudHlwZSA9PT0gJ3JmcDpzY3JvbGwtdG9wJykgewogICAgICB2YXIgdG9wID0gZnJhbWUu Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gMjQ7CiAg ICAgIGlmIChNYXRoLmFicyh3aW5kb3cucGFnZVlPZmZzZXQgLSB0b3ApID4gNDApIHdpbmRvdy5z Y3JvbGxUbyh7IHRvcDogdG9wLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICB9CiAgfSk7Cn0p KCk7Cjwvc2NyaXB0Pgo=

Galley’s culinary resource planning system
aligns kitchen creativity with operational excellence and financial accuracy.

Copyright © 2025.

Galley Solutions, Inc.

Galley Solutions
See Galley in action

Run a calmer, more profitable kitchen.

See culinary resource planning in action — book a 30-minute walkthrough with our team.

Reserve a Demo
Get the Culinarian — monthly, by culinarians

Recipes, playbooks, and operator insights, once a month.

Galley
Culinary Resource Planning
Contact
Call+1 888-312-1020 Blog→ Careers→ Terms & Policies→
Rated by operators
Capterra★★★★★ 4.8 LinkedIn3,862 followers
Follow
THANK YOU FOR COOKING WITH GALLEY
© 2026 Galley Solutions, Inc.  ·  Terms & Policies