Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7emgtVFcmcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICAgJmx0O21ldGEgY2hhcnNldD0mcXVvdDtVVEYtOCZxdW90OyZndDsKICAgICZsdDttZXRhIG5hbWU9JnF1b3Q7dmlld3BvcnQmcXVvdDsgY29udGVudD0mcXVvdDt3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wJnF1b3Q7Jmd0OwogICAgJmx0O3RpdGxlJmd0O+WQs+WqveWkp+iFuOm6tee3miAtIOiPnOWWruWclueJh+eUn+aIkOWZqCZsdDsvdGl0bGUmZ3Q7CiAgICAmbHQ7bGluayByZWw9JnF1b3Q7c3R5bGVzaGVldCZxdW90OyBocmVmPSZxdW90O2h0dHBzOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vYWpheC9saWJzL2ZvbnQtYXdlc29tZS82LjQuMC9jc3MvYWxsLm1pbi5jc3MmcXVvdDsmZ3Q7CiAgICAmbHQ7c3R5bGUmZ3Q7CiAgICAgICAgKiB7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNaWNyb3NvZnQgSmhlbmdIZWknLCAnSGVpdGkgVEMnLCAnTGlIZWkgUHJvJywgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGJvZHkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjlmM2U1IDAlLCAjZThkNmMwIDEwMCUpOwogICAgICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOEI0NTEzOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBoMSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjMpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYXBwLWNvbnRhaW5lciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wcmV2aWV3IHsKICAgICAgICAgICAgZmxleDogMjsKICAgICAgICAgICAgbWluLXdpZHRoOiA1MDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjEpOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbC1ncm91cCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGgyIHsKICAgICAgICAgICAgY29sb3I6ICM4QjQ1MTM7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRDJCNDhDOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBoMyB7CiAgICAgICAgICAgIGNvbG9yOiAjOEI0NTEzOwogICAgICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBsYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0QyQjQ4QzsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4QjQ1MTM7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI0EwNTIyRDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1lbnUtaXRlbSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZhZjA7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLml0ZW0taGVhZGVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaXRlbS1uYW1lIHsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBjb2xvcjogIzhCNDUxMzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLml0ZW0tcHJpY2UgewogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgY29sb3I6ICM4QjQ1MTM7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zcGljeS1vcHRpb25zIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc3BpY3ktb3B0aW9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5tZW51LWNhbnZhcyB7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDAsMCwwLjEpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnRuLWRvd25sb2FkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJFOEI1NzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmJ0bi1kb3dubG9hZDpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzQ0IzNzE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idG4tcHJpbnQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDY4MkI0OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnRuLXByaW50OmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzVBOUJENDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAgICAgICAgIC5hcHAtY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5wcmV2aWV3LCAuY29udHJvbHMgewogICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgJmx0Oy9zdHlsZSZndDsKJmx0Oy9oZWFkJmd0OwombHQ7Ym9keSZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udGFpbmVyJnF1b3Q7Jmd0OwogICAgICAgICZsdDtoZWFkZXImZ3Q7CiAgICAgICAgICAgICZsdDtoMSZndDvlkLPlqr3lpKfohbjpurXnt5ogLSDoj5zllq7lnJbniYfnlJ/miJDlmagmbHQ7L2gxJmd0OwogICAgICAgICAgICAmbHQ7cCZndDvovJXprIblibXlu7rlsIjmpa3nmoToj5zllq7lnJbniYfvvIznlKjmlrznpL7kuqTlqpLpq5TmiJbljbDliLcmbHQ7L3AmZ3Q7CiAgICAgICAgJmx0Oy9oZWFkZXImZ3Q7CiAgICAgICAgCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDthcHAtY29udGFpbmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRyb2xzJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtjb250cm9sLWdyb3VwJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtoMiZndDvoj5zllq7lhaflrrnoqK3lrpombHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICZsdDtoMyZndDvlupflrrbos4foqIombHQ7L2gzJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtsYWJlbCBmb3I9JnF1b3Q7c2hvcE5hbWUmcXVvdDsmZ3Q75bqX5ZCNJmx0Oy9sYWJlbCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7aW5wdXQgdHlwZT0mcXVvdDt0ZXh0JnF1b3Q7IGlkPSZxdW90O3Nob3BOYW1lJnF1b3Q7IHZhbHVlPSZxdW90O+WQs+WqveWkp+iFuOm6tee3miZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAmbHQ7bGFiZWwgZm9yPSZxdW90O3Bob25lJnF1b3Q7Jmd0O+mbu+ipsSZsdDsvbGFiZWwmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2lucHV0IHR5cGU9JnF1b3Q7dGV4dCZxdW90OyBpZD0mcXVvdDtwaG9uZSZxdW90OyB2YWx1ZT0mcXVvdDswNS02Njc1NTIzJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICZsdDtsYWJlbCBmb3I9JnF1b3Q7aG91cnMmcXVvdDsmZ3Q754ef5qWt5pmC6ZaTJmx0Oy9sYWJlbCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7dGV4dGFyZWEgaWQ9JnF1b3Q7aG91cnMmcXVvdDsgcm93cz0mcXVvdDszJnF1b3Q7Jmd0O+aXqeS4iiA2OjAwIO+9niDkuIvljYggMTowMArkuIvljYggMzowMCDvvZ4g77yI6LOj5a6M54K65q2i77yJCuavj+mAseS4ieWFrOS8kSZsdDsvdGV4dGFyZWEmZ3Q7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJmx0O2gzJmd0O+iPnOWWrumgheebriZsdDsvaDMmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDttZW51LWl0ZW0mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7aXRlbS1oZWFkZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtpdGVtLW5hbWUmcXVvdDsmZ3Q75aSn6IW46bq157eaJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7aXRlbS1wcmljZSZxdW90OyZndDvlpKfvvJo2MCDlhYMgfCDlsI/vvJo1MCDlhYMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3NwaWN5LW9wdGlvbnMmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3NwaWN5LW9wdGlvbiZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7aW5wdXQgdHlwZT0mcXVvdDtjaGVja2JveCZxdW90OyBpZD0mcXVvdDtpdGVtMV9zcGljeSZxdW90OyBjaGVja2VkJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtsYWJlbCBmb3I9JnF1b3Q7aXRlbTFfc3BpY3kmcXVvdDsmZ3Q76L6jJmx0Oy9sYWJlbCZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtzcGljeS1vcHRpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2lucHV0IHR5cGU9JnF1b3Q7Y2hlY2tib3gmcXVvdDsgaWQ9JnF1b3Q7aXRlbTFfbm90X3NwaWN5JnF1b3Q7IGNoZWNrZWQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xhYmVsIGZvcj0mcXVvdDtpdGVtMV9ub3Rfc3BpY3kmcXVvdDsmZ3Q75LiN6L6jJmx0Oy9sYWJlbCZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O21lbnUtaXRlbSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtpdGVtLWhlYWRlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2l0ZW0tbmFtZSZxdW90OyZndDvonabku4HpurXnt5ombHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtpdGVtLXByaWNlJnF1b3Q7Jmd0O+Wkp++8mjYwIOWFgyB8IOWwj++8mjUwIOWFgyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7c3BpY3ktb3B0aW9ucyZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7c3BpY3ktb3B0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtpbnB1dCB0eXBlPSZxdW90O2NoZWNrYm94JnF1b3Q7IGlkPSZxdW90O2l0ZW0yX3NwaWN5JnF1b3Q7IGNoZWNrZWQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xhYmVsIGZvcj0mcXVvdDtpdGVtMl9zcGljeSZxdW90OyZndDvovqMmbHQ7L2xhYmVsJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3NwaWN5LW9wdGlvbiZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7aW5wdXQgdHlwZT0mcXVvdDtjaGVja2JveCZxdW90OyBpZD0mcXVvdDtpdGVtMl9ub3Rfc3BpY3kmcXVvdDsgY2hlY2tlZCZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGFiZWwgZm9yPSZxdW90O2l0ZW0yX25vdF9zcGljeSZxdW90OyZndDvkuI3ovqMmbHQ7L2xhYmVsJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgIA==
<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>吳媽大腸麵線 - 菜單圖片生成器</title>
<link rel="stylesheet" href="https://c...content-available-to-author-only...e.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Microsoft JhengHei', 'Heiti TC', 'LiHei Pro', Arial, sans-serif;
}
body {
background: linear-gradient(135deg, #f9f3e5 0%, #e8d6c0 100%);
color: #333;
line-height: 1.6;
padding: 20px;
min-height: 100vh;
}
.container {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 20px;
}
header {
text-align: center;
padding: 20px;
background: #8B4513;
color: white;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
h1 {
font-size: 2.5rem;
margin-bottom: 10px;
text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
.app-container {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.controls {
flex: 1;
min-width: 300px;
background: white;
border-radius: 10px;
padding: 20px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.preview {
flex: 2;
min-width: 500px;
background: white;
border-radius: 10px;
padding: 20px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
display: flex;
flex-direction: column;
align-items: center;
}
.control-group {
margin-bottom: 20px;
}
h2 {
color: #8B4513;
margin-bottom: 15px;
padding-bottom: 5px;
border-bottom: 2px solid #D2B48C;
}
h3 {
color: #8B4513;
margin: 15px 0 10px;
}
label {
display: block;
margin-bottom: 8px;
font-weight: bold;
color: #555;
}
input, select, textarea {
width: 100%;
padding: 10px;
border: 1px solid #D2B48C;
border-radius: 5px;
margin-bottom: 10px;
font-size: 1rem;
}
button {
background: #8B4513;
color: white;
border: none;
padding: 12px 20px;
border-radius: 5px;
cursor: pointer;
font-size: 1rem;
font-weight: bold;
transition: background 0.3s;
display: inline-flex;
align-items: center;
gap: 8px;
}
button:hover {
background: #A0522D;
}
.menu-item {
background: #fffaf0;
border-radius: 8px;
padding: 15px;
margin-bottom: 15px;
}
.item-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.item-name {
font-weight: bold;
font-size: 1.3rem;
color: #8B4513;
}
.item-price {
font-weight: bold;
color: #8B4513;
}
.spicy-options {
display: flex;
gap: 15px;
}
.spicy-option {
display: flex;
align-items: center;
gap: 5px;
}
.menu-canvas {
width: 100%;
max-width: 600px;
background: white;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0,0,0,0.1);
margin-bottom: 20px;
}
.button-group {
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
}
.btn-download {
background: #2E8B57;
}
.btn-download:hover {
background: #3CB371;
}
.btn-print {
background: #4682B4;
}
.btn-print:hover {
background: #5A9BD4;
}
@media (max-width: 900px) {
.app-container {
flex-direction: column;
}
.preview, .controls {
min-width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>吳媽大腸麵線 - 菜單圖片生成器</h1>
<p>輕鬆創建專業的菜單圖片,用於社交媒體或印刷</p>
</header>
<div class="app-container">
<div class="controls">
<div class="control-group">
<h2>菜單內容設定</h2>
<h3>店家資訊</h3>
<label for="shopName">店名</label>
<input type="text" id="shopName" value="吳媽大腸麵線">
<label for="phone">電話</label>
<input type="text" id="phone" value="05-6675523">
<label for="hours">營業時間</label>
<textarea id="hours" rows="3">早上 6:00 ~ 下午 1:00
下午 3:00 ~ (賣完為止)
每週三公休</textarea>
<h3>菜單項目</h3>
<div class="menu-item">
<div class="item-header">
<span class="item-name">大腸麵線</span>
<span class="item-price">大:60 元 | 小:50 元</span>
</div>
<div class="spicy-options">
<div class="spicy-option">
<input type="checkbox" id="item1_spicy" checked>
<label for="item1_spicy">辣</label>
</div>
<div class="spicy-option">
<input type="checkbox" id="item1_not_spicy" checked>
<label for="item1_not_spicy">不辣</label>
</div>
</div>
</div>
<div class="menu-item">
<div class="item-header">
<span class="item-name">蝦仁麵線</span>
<span class="item-price">大:60 元 | 小:50 元</span>
</div>
<div class="spicy-options">
<div class="spicy-option">
<input type="checkbox" id="item2_spicy" checked>
<label for="item2_spicy">辣</label>
</div>
<div class="spicy-option">
<input type="checkbox" id="item2_not_spicy" checked>
<label for="item2_not_spicy">不辣</label>
</div>
</div>
</div>