Skip to content

3.2 一个简单示例

通过分析一个包含 Web 客户端、Jakarta Pages 用户界面以及企业 Bean 业务逻辑的简单应用的运行流程,可以更好地理解 Jakarta EE 环境的安全行为。(本示例并非用于规定具体需求。)

在本示例中,Web 客户端依赖 Web 服务器作为其身份认证代理,由服务器从客户端收集用户认证信息,并据此建立已认证的会话。

初始请求

Web 客户端请求应用的主 URL,如“初始请求”所示。 ![请求][Initial-Request] 图 3. 初始请求

由于客户端尚未向应用环境完成身份认证,负责提供应用 Web 部分的服务器(以下简称“Web 服务器”)会检测到这一情况,并针对该资源调用相应的身份认证机制。

初次身份认证

Web 服务器返回一个表单,供 Web 客户端从用户处收集认证信息(如用户名和密码)。Web 客户端将认证信息提交给 Web 服务器,由服务器完成验证,如“初次身份认证”所示。 ![认证][Initial-Authentication] 图 4. 初次身份认证

验证机制可以是服务器本地实现,也可以依托底层安全服务完成。基于验证结果,Web 服务器会为用户设置凭证。

URL 授权

该凭证将用于后续判断用户是否有权限访问其可能请求的受限资源。Web 服务器查询与该 Web 资源关联的安全策略(源自部署描述符),确定允许访问该资源的安全角色。随后,Web 容器将用户凭证与各个角色进行比对,判断能否将用户映射至对应角色。“URL 授权”展示了这一过程。 ![URL授权][URL-authorization] 图 5. URL 授权

当 Web 服务器能够将用户映射至某一角色时,判定结果为“已授权”,验证流程终止。若服务器无法将用户映射至任一允许的角色,则判定为“未授权”。

完成原始请求

若用户已获得授权,Web 服务器将返回原始 URL 请求的结果,如“完成原始请求”所示。 ![完成原始请求][fulfilling-the-original-request] 图 6. 完成原始请求

在本示例中,服务器返回一个 Pages 页面作为响应 URL,用户可在该页面提交表单数据,交由应用的业务逻辑组件处理。

调用企业 Bean 业务方法

Pages 页面对企业 Bean 发起远程方法调用,并使用用户凭证在 Pages 页面与企业 Bean 之间建立安全关联(如“调用企业 Bean 业务方法”所示)。该安全关联体现为两个相关的安全上下文:一个位于 Web 服务器,另一个位于 Jakarta Enterprise Beans 容器。 ![调用企业bean业务方法][invoking-an-enterprise-bean-business-method] 图 7. 调用企业 Bean 业务方法

Jakarta Enterprise Beans 容器负责对企业 Bean 的方法执行访问控制。容器查询与该企业 Bean 关联的安全策略(源自部署描述符),确定允许调用该方法的安全角色。针对每个角色,容器使用与本次调用关联的安全上下文,判断能否将调用者映射至对应角色。

当容器能够将调用者凭证映射至某一角色时,判定结果为“已授权”,验证流程终止。若容器无法将调用者映射至任一允许的角色,则判定为“未授权”。出现“未授权”结果时,容器会抛出异常,并将异常传递回发起调用的 Pages 页面。

若用户已获得授权,容器将控制权转发至企业 Bean 方法。Bean 执行调用后的结果返回至 Pages 页面,最终经由 Web 服务器和 Web 客户端呈现给用户。

[Initial-Request]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjAiIHdpZHRoPSIzMDAuMDAwMDAwcHQiIGhlaWdodD0iNjIuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAzMDAuMDAwMDAwIDYyLjAwMDAwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczpieD0iaHR0cHM6Ly9ib3h5LXN2Zy5jb20iPgogIDxkZWZzPgoKICA8L2RlZnM+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNjIuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgogICAgPHBhdGggZD0iTTE5NDAgMzYxIGwwIC05MCAtMzUgMTUgYy00NCAxOCAtNTEgMTggLTM1IC0xIDEyIC0xNCAtOSAtMTYgLTE4OCAtMTUgLTE1NiAxIC0yMDMgNSAtMjEyIDE1IC0xNCAxNiAtNTAgMTYgLTUwIC0xIDAgLTggLTI1IC0xMiAtODAgLTExIC02NCAwIC04MCAzIC04MyAxNiAtNCAxNCAtNSAxNCAtNiAwIC0xIC0xNSAtMTcgLTE3IC0xMTIgLTE4IGwtMTExIC0yIDIgNDggYzMgOTIgMjAgODQgLTE2MiA4MSBsLTE2MyAtMyAtMyAtMTMzIGMtMiAtMTExIDAgLTEzMyAxMyAtMTM4IDggLTMgMTIgLTEwIDkgLTE1IC0zIC01IDY2IC05IDE2MSAtOSAxNjEgMCAxNjUgMSAxNTUgMTkgLTUgMTEgLTEwIDQ3IC0xMCA4MCBsMCA2MCA0MjYgMSBjMzgyIDAgNDI1IC0yIDQxNCAtMTUgLTIxIC0yNSAtNSAtMjcgMzQgLTQgbDM2IDIxIDAgLTk2IDAgLTk2IDIxOCAtMiAyMTcgLTIgLTIxMCAtNiBjLTExNSAtMyAtMjA4IC03IC0yMDUgLTggMyAtMSA5OCAtMyAyMTMgLTUgbDIwNyAtMiAwIDE4MCBjMCA5OSAtMyAxOTAgLTYgMjAzIC02IDIyIC03IDIyIC0yMjAgMjIgbC0yMTQgMCAwIC04OXogbTQyMCAtMTAxIGwwIC0xODAgLTIwNSAwIC0yMDUgMCAwIDE4MCAwIDE4MCAyMDUgMCAyMDUgMCAwIC0xODB6IG0tMTM0MCAwIGwwIC0xMjAgLTE1MCAwIC0xNTAgMCAwIDEyMCAwIDEyMCAxNTAgMCAxNTAgMCAwIC0xMjB6IG00NDUgMjAgYzMgLTUgLTMgLTEwIC0xNSAtMTAgLTEyIDAgLTE4IDUgLTE1IDEwIDMgNiAxMCAxMCAxNSAxMCA1IDAgMTIgLTQgMTUgLTEweiBtLTUwMiAtMTY3IGMtNDAgLTIgLTEwNyAtMiAtMTUwIDAgLTQzIDEgLTEwIDMgNzIgMyA4MyAwIDExOCAtMiA3OCAtM3oiLz4KICAgIDx0ZXh0IHg9Ijc0OC4wMjEiIHk9IjQzNi4xMjciIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyBmaWxsOiByZ2IoNTEsIDUxLCA1MSk7IGZvbnQtZmFtaWx5OiAmcXVvdDtSb2JvdG8gU2xhYiZxdW90OzsgZm9udC1zaXplOiAyOHB4OyIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wMzcwNjksIDAsIDAsIC0xLjQzNzIxMywgLTI3LjcyODMyMywgMTA0NC41NDEzODIpIj5XZWIgQ2xpZW50PC90ZXh0PgogICAgPHRleHQgeD0iNzQ4LjAyMSIgeT0iNDM2LjEyNyIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7IGZpbGw6IHJnYig1MSwgNTEsIDUxKTsgZm9udC1mYW1pbHk6ICZxdW90O1JvYm90byBTbGFiJnF1b3Q7OyBmb250LXNpemU6IDI4cHg7IiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzNzA3LCAwLCAwLCAtMS40MzcyMSwgMTI5NC41Mzg0NTIsIDEwODguMjU1OTgxKSI+V2ViIFNlcnZlcjwvdGV4dD4KICAgIDx0ZXh0IHRyYW5zZm9ybT0ibWF0cml4KDEuODAxNzksIDAsIDAsIC0zLjMzNDAyNiwgLTEwMjkuMjUwMjQ0LCAxNTQ5LjgwNTI5OCkiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyBmaWxsOiByZ2IoNTEsIDUxLCA1MSk7IGZvbnQtZmFtaWx5OiAmcXVvdDtSb2JvdG8gU2xhYiZxdW90OzsgZm9udC1zaXplOiAyOHB4OyIgeT0iMzUwLjMzMiIgeD0iMTI2My4yMDciPjx0c3BhbiB4PSIxMjYzLjIwNzAzMTI1IiBkeT0iMWVtIj7igIs8L3RzcGFuPlJlcXVlc3QgYWNjZXNzIHRvPHRzcGFuIHg9IjEyNjMuMjA3MDMxMjUiIGR5PSIxZW0iPuKAizwvdHNwYW4+cHJvdGVjdGVkIHJlc291cmNlPHRzcGFuIHg9IjEyNjMuMjA3MDMxMjUiIGR5PSIxZW0iPuKAizwvdHNwYW4+PHRzcGFuIHg9IjEyNjMuMjA3MDMxMjUiIGR5PSIxZW0iPuKAizwvdHNwYW4+PC90ZXh0PgogIDwvZz4KPC9zdmc+

[Initial-Authentication]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDYyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOmJ4PSJodHRwczovL2JveHktc3ZnLmNvbSI+CiAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4xLCAwLCAwLCAtMC4wOTY3MTksIC0yLjc4ODMyMSwgNDkuMTU3NjE2KSIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIiBzdHlsZT0iIj4KICAgIDx0ZXh0IHRyYW5zZm9ybT0ibWF0cml4KDEuMDM3MDY5LCAwLCAwLCAtMS40MzcyMTMsIC0xNTIuMTYzNzczLCAxMDIzLjkyNDUpIiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1JvYm90byBTbGFiJnF1b3Q7OyBmb250LXNpemU6IDU3LjU1MTZweDsgbGluZS1oZWlnaHQ6IDU1LjY2MzNweDsgd2hpdGUtc3BhY2U6IHByZTsiIHg9Ijc0OC4wMjEiIHk9IjQzNi4xMjciPldlYiBDbGllbnQ8L3RleHQ+CiAgICA8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzNzA3LCAwLCAwLCAtMS40MzcyMSwgMTA4OS40NDQzMzYsIDEwNTkuODkzNTU1KSIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDb3VyaWVyIFByaW1lJnF1b3Q7OyBmb250LXNpemU6IDU3LjU1MTdweDsgbGluZS1oZWlnaHQ6IDY5LjA2MnB4OyB3aGl0ZS1zcGFjZTogcHJlOyIgeD0iNzQ4LjAyMSIgeT0iNDM2LjEyNyI+V2ViIFNlcnZlcjwvdGV4dD4KICAgIDxyZWN0IHg9IjYyMy41OCIgeT0iLTMzOC43MjgiIHdpZHRoPSIyNDUuMTg3IiBoZWlnaHQ9IjI1NS44NzMiIHN0eWxlPSJmaWxsOiBub25lOyBzdHJva2U6IHJnYigwLCAwLCAwKTsgcGFpbnQtb3JkZXI6IHN0cm9rZTsgc3Ryb2tlLXdpZHRoOiAxMHB4OyIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDApIi8+CiAgICA8cmVjdCB4PSIxNzg3LjYxOSIgeT0iLTM5NS42MSIgd2lkdGg9IjQzNi43NzciIGhlaWdodD0iMzU0LjI4NyIgcng9IjkuMDczIiByeT0iOS4wNzMiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEwcHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogcmdiKDAsIDAsIDApOyIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDApIi8+CiAgICA8cmVjdCB4PSIxNzkwLjQxNCIgeT0iLTI4MS45ODQiIHdpZHRoPSIyNjguNTE3IiBoZWlnaHQ9IjEzMC42MTIiIHN0eWxlPSJmaWxsOiBub25lOyBzdHJva2U6IHJnYigwLCAwLCAwKTsgcGFpbnQtb3JkZXI6IHN0cm9rZTsgc3Ryb2tlLXdpZHRoOiAxMHB4OyIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDApIi8+CiAgICA8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzNzA3LCAwLCAwLCAtMS40MzcyMSwgMzUwLjcwMDg2NywgNjYxLjI5ODY0NSkiIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q291cmllciBQcmltZSZxdW90OzsgZm9udC1zaXplOiA1Ny41NTE3cHg7IGxpbmUtaGVpZ2h0OiA2OS4wNjJweDsgd2hpdGUtc3BhY2U6IHByZTsiIHg9Ijc0OC4wMjEiIHk9IjQzNi4xMjciPkF1dGhlbnRpY2F0aW9uIGRhdGE8L3RleHQ+CiAgICA8dGV4dCB4PSI5ODguMDg5IiB5PSI2NC42MTUiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyBmaWxsOiByZ2IoNTEsIDUxLCA1MSk7IGZvbnQtZmFtaWx5OiAmcXVvdDtSb2JvdG8gU2xhYiZxdW90OzsgZm9udC1zaXplOiAyOHB4OyI+CjwvdGV4dD4KICAgIDx0ZXh0IHRyYW5zZm9ybT0ibWF0cml4KDEuMDM3MDcsIDAsIDAsIC0xLjQzNzIxLCAxMDE5Ljg3NTQ4OCwgODI2LjAyMDg3NCkiIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q291cmllciBQcmltZSZxdW90OzsgZm9udC1zaXplOiA1MC4zNTc3cHg7IGxpbmUtaGVpZ2h0OiA2OS4wNjJweDsgd2hpdGUtc3BhY2U6IHByZTsiIHg9Ijc0OC4wMjEiIHk9IjQzNi4xMjciPmNyZWRlbnRpYWw8L3RleHQ+CiAgICA8dGV4dCB4PSIxNDYyLjk2MiIgeT0iMjc0LjM2MyIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7IGZpbGw6IHJnYig1MSwgNTEsIDUxKTsgZm9udC1mYW1pbHk6ICZxdW90O1JvYm90byBTbGFiJnF1b3Q7OyBmb250LXNpemU6IDI4cHg7Ij4KPC90ZXh0PgogICAgPHRleHQgdHJhbnNmb3JtPSJtYXRyaXgoMS4wMzcwNywgMCwgMCwgLTEuNDM3MjEsIDQ4MC45Mjg5NTUsIDk1MC45ODcyNDQpIiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0NvdXJpZXIgUHJpbWUmcXVvdDs7IGZvbnQtc2l6ZTogNTcuNTUxN3B4OyBsaW5lLWhlaWdodDogNjkuMDYycHg7IHdoaXRlLXNwYWNlOiBwcmU7IiB4PSI3NDguMDIxIiB5PSI0MzYuMTI3Ij5Gb3JtPC90ZXh0PgogICAgPHRleHQgeD0iMTIzMS44ODIiIHk9IjQwMS40NjYiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyBmaWxsOiByZ2IoNTEsIDUxLCA1MSk7IGZvbnQtZmFtaWx5OiAmcXVvdDtSb2JvdG8gU2xhYiZxdW90OzsgZm9udC1zaXplOiAyOHB4OyI+CjwvdGV4dD4KICAgIDx0ZXh0IHN0eWxlPSJmaWxsOiByZ2IoNTEsIDUxLCA1MSk7IGZvbnQtZmFtaWx5OiAmcXVvdDtDb3VyaWVyIFByaW1lJnF1b3Q7OyBmb250LXNpemU6IDI4cHg7IHdoaXRlLXNwYWNlOiBwcmU7IiB4PSIxMzg2LjAyIiB5PSItMTA4Ljc5NyI+CjwvdGV4dD4KICAgIDxsaW5lIHN0eWxlPSJzdHJva2U6IHJnYigwLCAwLCAwKTsgcGFpbnQtb3JkZXI6IHN0cm9rZTsgc3Ryb2tlLXdpZHRoOiAxMC4xNjY4cHg7IiB4MT0iODY4Ljc2NyIgeTE9IjEwOS42NTciIHgyPSIxNzk1LjYyIiB5Mj0iMTA5LjY1NyIvPgogICAgPGxpbmUgc3R5bGU9InN0cm9rZTogcmdiKDAsIDAsIDApOyBzdHJva2Utd2lkdGg6IDEwLjE2NjhweDsiIHgxPSIxNzg3LjYxOSIgeTE9IjMwMy44NjEiIHgyPSI4NjguNzY3IiB5Mj0iMzExLjA2OCIvPgogICAgPGxpbmUgc3R5bGU9InN0cm9rZTogcmdiKDAsIDAsIDApOyIgeDE9IjE5MjQuNzIxNzg2ODQwOTc4NyIgeTE9IjE5MC44NDk1ODQ0MjYwMzUxNiIgeDI9IjE5MjYuMDQ3NzAxOTY0NzU2IiB5Mj0iMTc4Ljg5NDU4MDM1Mzc1ODczIi8+CiAgICA8cGF0aCBkPSJNIDE4MDQuMTg5IDU0MC4zMjQgTCAxODQzLjg0NSA2MTAuMDUgTCAxNzY0LjUzMyA2MTAuMDUgTCAxODA0LjE4OSA1NDAuMzI0IFoiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEwLjE2NzlweDsiIHRyYW5zZm9ybT0ibWF0cml4KDAuODQ3ODM5LCAwLjUzMDI1NCwgMC41MDUxOTcsIC0wLjg2MzUxLCAtNzUuODU5NDI4LCAtMzM3LjE5NDI5MSkiIGJ4OnNoYXBlPSJ0cmlhbmdsZSAxNzY0LjUzMyA1NDAuMzI0IDc5LjMxMiA2OS43MjYgMC41IDAgMUBhNTY5ZGYzZSIvPgogICAgPHBhdGggZD0iTSAtMTcyNS4xMTQgLTU0MC4yNTUgTCAtMTY4NS40NTIgLTQ3MC41MzggTCAtMTc2NC43NzUgLTQ3MC41MzggTCAtMTcyNS4xMTQgLTU0MC4yNTUgWiIgc3R5bGU9InN0cm9rZS13aWR0aDogMTAuMTY3OXB4OyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuODQ1NDU2LCAtMC41MzQwNDUsIC0wLjUwODk0NCwgMC44NjEzMTIsIC04MDAuODExMTUsIC0xODUuMDkxMzczKSIgYng6c2hhcGU9InRyaWFuZ2xlIC0xNzY0Ljc3NSAtNTQwLjI1NSA3OS4zMjMgNjkuNzE3IDAuNSAwIDFANjgyMzljMWQiLz4KICA8L2c+Cjwvc3ZnPg== [URL-authorization]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KPCEtLSBHZW5lcmF0byBkYSBNaWNyb3NvZnQgVmlzaW8gMTEuMCwgU1ZHIEV4cG9ydCwgdjEuMCBQbGF0Zm9ybV9TcGVjLTUuc3ZnIFBhZ2luYSAxIC0tPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6dj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS92aXNpby8yMDAzL1NWR0V4dGVuc2lvbnMvIiB3aWR0aD0iNS40MTM3aW4iCgkJaGVpZ2h0PSIxLjgzMTAyaW4iIHZpZXdCb3g9IjAgMCAzODkuNzg2IDEzMS44MzQiIHhtbDpzcGFjZT0icHJlc2VydmUiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgY2xhc3M9InN0MTAiCgkJeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgoJPHY6ZG9jdW1lbnRQcm9wZXJ0aWVzIHY6bGFuZ0lEPSIxMDQwIiB2Om1ldHJpYz0idHJ1ZSIgdjp2aWV3TWFya3VwPSJmYWxzZSI+CgkJPHY6dXNlckRlZnM+CgkJCTx2OnVkIHY6bmFtZVU9Ik1CU0FBZGRpbk91dGxpbmVWaXNpYmxlIiB2OnByb21wdD0iIiB2OnZhbD0iVlQwKDEpOjI2Ii8+CgkJPC92OnVzZXJEZWZzPgoJPC92OmRvY3VtZW50UHJvcGVydGllcz4KCgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJPCFbQ0RBVEFbCgkJLnN0MSB7ZmlsbDojZmZmZmZmO3N0cm9rZTpub25lO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MC43Mn0KCQkuc3QyIHtmaWxsOiNiZmJmYmY7c3Ryb2tlOiNiZmJmYmY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDMge2ZpbGw6I2ZmZmZmZjtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0NCB7ZmlsbDpub25lO3N0cm9rZTpub25lO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MC43Mn0KCQkuc3Q1IHtmaWxsOiMwMDAwMDA7Zm9udC1mYW1pbHk6QXJpYWw7Zm9udC1zaXplOjAuNjY2NjY0ZW19CgkJLnN0NiB7bWFya2VyLWVuZDp1cmwoI21ya3IxMy0zMSk7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWRhc2hhcnJheTowLjcyLDEuNDQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDcge2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjIyMjIyMjIyMjIyMjIyfQoJCS5zdDgge2ZpbGw6IzAwMDAwMDtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0OSB7Zm9udC1zaXplOjFlbX0KCQkuc3QxMCB7ZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO2ZvbnQtc2l6ZToxMjtvdmVyZmxvdzp2aXNpYmxlO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbWl0ZXJsaW1pdDozfQoJXV0+Cgk8L3N0eWxlPgoKCTxkZWZzIGlkPSJNYXJrZXJzIj4KCQk8ZyBpZD0ibGVuZDEzIj4KCQkJPHBhdGggZD0iTSAzIDEgTCAtMCAwIEwgMyAtMSBMIDMgMSAiIHN0eWxlPSJzdHJva2U6bm9uZSIvPgoJCTwvZz4KCQk8bWFya2VyIGlkPSJtcmtyMTMtMzEiIGNsYXNzPSJzdDciIHY6YXJyb3dUeXBlPSIxMyIgdjphcnJvd1NpemU9IjIiIHY6c2V0YmFjaz0iMTMuNSIgcmVmWD0iLTEzLjUiIG9yaWVudD0iYXV0byIKCQkJCW1hcmtlclVuaXRzPSJzdHJva2VXaWR0aCI+CgkJCTx1c2UgeGxpbms6aHJlZj0iI2xlbmQxMyIgdHJhbnNmb3JtPSJzY2FsZSgtNC41LC00LjUpICIvPgoJCTwvbWFya2VyPgoJPC9kZWZzPgoJPGcgdjptSUQ9IjAiIHY6aW5kZXg9IjEiIHY6Z3JvdXBDb250ZXh0PSJmb3JlZ3JvdW5kUGFnZSI+CgkJPHRpdGxlPlBhZ2luYSAxPC90aXRsZT4KCQk8djpwYWdlUHJvcGVydGllcyB2OmRyYXdpbmdTY2FsZT0iMC4wMzkzNzAxIiB2OnBhZ2VTY2FsZT0iMC4wMzkzNzAxIiB2OmRyYXdpbmdVbml0cz0iMjQiIHY6c2hhZG93T2Zmc2V0WD0iOC41MDM5NCIKCQkJCXY6c2hhZG93T2Zmc2V0WT0iLTguNTAzOTQiLz4KCQk8ZyBpZD0ic2hhcGUxMzktMSIgdjptSUQ9IjEzOSIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjcyLC0wLjcyKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTM5PC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iMS40NCIgd2lkdGg9IjM4OC4zNDYiIGhlaWdodD0iMTMwLjM5NCIgY2xhc3M9InN0MSIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxLTMiIHY6bUlEPSIxIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwMS45OCwtMTIuMDU4NikiPgoJCQk8dGl0bGU+Rm9nbGlvLjE8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI0MS4xMjUiIHdpZHRoPSIxNzguNTgzIiBoZWlnaHQ9IjkwLjcwODciIGNsYXNzPSJzdDIiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlNC01IiB2Om1JRD0iNCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTkuMTQ1LC0xNC44OTMyKSI+CgkJCTx0aXRsZT5Gb2dsaW8uNDwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjM4LjI5MDQiIHdpZHRoPSIxNzguNTgzIiBoZWlnaHQ9IjkzLjU0MzMiIGNsYXNzPSJzdDMiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTUtNyIgdjptSUQ9IjE1IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI5Mi42ODksLTIzLjM5NzIpIj4KCQkJPHRpdGxlPkZvZ2xpby4xNTwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjU4LjEzMjkiIHdpZHRoPSI3OS4zNzAxIiBoZWlnaHQ9IjczLjcwMDgiIGNsYXNzPSJzdDIiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTM4LTkiIHY6bUlEPSIxMzgiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy41NTQ2NSwtODUuNzU5NCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjEzODwvdGl0bGU+CgkJCTxkZXNjPldlYiBDbGllbnQ8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjI4LjM0NjUiIGN5PSIxMjQuNzQ3IiB3aWR0aD0iNTYuNyIgaGVpZ2h0PSIxNC4xNzMyIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjExNy42NiIgd2lkdGg9IjU2LjY5MjkiIGhlaWdodD0iMTQuMTczMiIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI4Ljc4IiB5PSIxMjcuMTUiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+V2ViIENsaWVudDwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUyLTEyIiB2Om1JRD0iMiIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi45MTgsLTQzLjIzOTcpIj4KCQkJPHRpdGxlPkZvZ2xpby4yPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iOTEuMzM4OCIgd2lkdGg9IjQwLjQ5NDkiIGhlaWdodD0iNDAuNDk0OSIgY2xhc3M9InN0MiIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUzLTE0IiB2Om1JRD0iMyIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC44OTMyLC00NS4yNjQ0KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMzwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjkxLjMzODgiIHdpZHRoPSI0MC40OTQ5IiBoZWlnaHQ9IjQwLjQ5NDkiIGNsYXNzPSJzdDMiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlNS0xNiIgdjptSUQ9IjUiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTk2LjMxMSwtMTA4LjQzNykiPgoJCQk8dGl0bGU+Rm9nbGlvLjU8L3RpdGxlPgoJCQk8ZGVzYz5XZWIgU2VydmVyPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSI4MC43ODc0IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjE2MS41OCIgaGVpZ2h0PSIxNC4xNzMyIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjExNy42NiIgd2lkdGg9IjE2MS41NzUiIGhlaWdodD0iMTQuMTczMiIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI1OS42NyIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPldlYiBTZXJ2ZXI8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTQzLTE5IiB2Om1JRD0iMTQzIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwMS4xNywtNDIuODM0NykiPgoJCQk8dGl0bGU+Rm9nbGlvLjE0MzwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjkxLjMzODgiIHdpZHRoPSI2MC4zMzc1IiBoZWlnaHQ9IjQwLjQ5NDkiIGNsYXNzPSJzdDIiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTQ0LTIxIiB2Om1JRD0iMTQ0IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5OS4xNDUsLTQ1LjMyODIpIj4KCQkJPHRpdGxlPkZvZ2xpby4xNDQ8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI5MS4zMzg4IiB3aWR0aD0iNTkuNTI3NiIgaGVpZ2h0PSI0MC40OTQ5IiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTE0Mi0yMyIgdjptSUQ9IjE0MiIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTMuNDc2LC01OC44OTQpIj4KCQkJPHRpdGxlPkZvZ2xpby4xNDI8L3RpdGxlPgoJCQk8ZGVzYz5jcmVkZW50aWFsPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIyOC4zNDY1IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjU2LjciIGhlaWdodD0iMTQuMTczMiIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNjYiIHdpZHRoPSI1Ni42OTI5IiBoZWlnaHQ9IjE0LjE3MzIiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iMTEiIHk9IjEyNy4xNSIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5jcmVkZW50aWFsPC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTYtMjYiIHY6bUlEPSI2IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LjU3ODMsMTk4LjExNCkgc2NhbGUoMSwtMSkiPgoJCQk8dGl0bGU+Rm9nbGlvLjY8L3RpdGxlPgoJCQk8cGF0aCBkPSJNMCAxMzEuODMgTDEzNC4wNCAxMzEuODMiIGNsYXNzPSJzdDYiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlNy0zMiIgdjptSUQ9IjciIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIwLjUzMSw2My40NDYpIHJvdGF0ZSg5MCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjc8L3RpdGxlPgoJCQk8cGF0aCBkPSJNNS42NyAxMzEuODMgTDAgMTMxLjgzIEwyLjgzIDEyMi4yIEw1LjY3IDEzMS44MyBaIiBjbGFzcz0ic3Q4Ii8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTgtMzQiIHY6bUlEPSI4IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4Ljc1MTUsLTQ4LjQxNzYpIj4KCQkJPHRpdGxlPkZvZ2xpby44PC90aXRsZT4KCQkJPGRlc2M+cHJvdGVjdGVkIHJlc291cmNlPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSI0Mi41MTk3IiBjeT0iMTI0LjYyIiB3aWR0aD0iODUuMDQiIGhlaWdodD0iMTQuNDI4MyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNDA1IiB3aWR0aD0iODUuMDM5NCIgaGVpZ2h0PSIxNC40MjgzIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjkuMTciIHk9IjEyNy4wMiIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5wcm90ZWN0ZWQgcmVzb3VyY2U8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlOS0zNyIgdjptSUQ9IjkiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjguNzUxNSwtNjYuOTcwNCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjk8L3RpdGxlPgoJCQk8ZGVzYz5SZXF1ZXN0IGFjY2VzcyB0bzwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iNDIuNTE5NyIgY3k9IjEyMy44NTciIHdpZHRoPSI4NS4wNCIgaGVpZ2h0PSIxNS45NTQzIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjExNS44NzkiIHdpZHRoPSI4NS4wMzk0IiBoZWlnaHQ9IjE1Ljk1NDMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOS42MSIgeT0iMTI2LjI2IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPlJlcXVlc3QgYWNjZXNzIHRvICA8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTAtNDAiIHY6bUlEPSIxMCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTYuMDU1LC0xNy42NjQxKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTA8L3RpdGxlPgoJCQk8ZGVzYz5TZXNzaW9uIENvbnRleHQ8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjIyLjgwNDciIGN5PSIxMjAuMzY4IiB3aWR0aD0iNDUuNjEiIGhlaWdodD0iMjIuOTMyMyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMDguOTAxIiB3aWR0aD0iNDUuNjA5NCIgaGVpZ2h0PSIyMi45MzIzIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjguNTciIHk9IjExNy45NyIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5TZXNzaW9uPHY6bmV3bGluZUNoYXIvPjx0c3BhbgoJCQkJCQl4PSI5LjAyIiBkeT0iMS4yZW0iIGNsYXNzPSJzdDkiPkNvbnRleHQ8L3RzcGFuPjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUxMS00NCIgdjptSUQ9IjExIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4OS44NTQsLTI2LjIzMTgpIj4KCQkJPHRpdGxlPkZvZ2xpby4xMTwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjU4LjEzMjkiIHdpZHRoPSI3OS4zNzAxIiBoZWlnaHQ9IjczLjcwMDgiIGNsYXNzPSJzdDMiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTItNDYiIHY6bUlEPSIxMiIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyODkuODU0LC0yNi4yMzE4KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTI8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI1OC4xMzI5IiB3aWR0aD0iMTcuMDA3OSIgaGVpZ2h0PSI3My43MDA4IiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTEzLTQ4IiB2Om1JRD0iMTMiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDIxLjY4OCwyOS4wNjY1KSByb3RhdGUoOTApIj4KCQkJPHRpdGxlPkZvZ2xpby4xMzwvdGl0bGU+CgkJCTxkZXNjPkF1dGhlbnRpY2F0aW9uPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIzMi41OTg0IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjY1LjIiIGhlaWdodD0iMTQuMTczMiIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNjYiIHdpZHRoPSI2NS4xOTY5IiBoZWlnaHQ9IjE0LjE3MzIiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iNy4yNSIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPkF1dGhlbnRpY2F0aW9uPC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTE0LTUxIiB2Om1JRD0iMTQiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjE5MiwtNTcuMTU3OCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE0PC90aXRsZT4KCQkJPGRlc2M+SlNQL1NlcnZsZXQgT2JqZWN0PC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIyOC42MDE2IiBjeT0iMTIwLjM2OCIgd2lkdGg9IjU3LjIxIiBoZWlnaHQ9IjIyLjkzMjMiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTA4LjkwMSIgd2lkdGg9IjU3LjIwMzEiIGhlaWdodD0iMjIuOTMyMyIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI3LjcxIiB5PSIxMTcuOTciIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+SlNQL1NlcnZsZXQ8djpuZXdsaW5lQ2hhci8+PHRzcGFuCgkJCQkJCXg9IjE3LjA0IiBkeT0iMS4yZW0iIGNsYXNzPSJzdDkiPk9iamVjdDwvdHNwYW4+PC90ZXh0PgkJPC9nPgoJPC9nPgo8L3N2Zz4K [fulfilling-the-original-request]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KPCEtLSBHZW5lcmF0byBkYSBNaWNyb3NvZnQgVmlzaW8gMTEuMCwgU1ZHIEV4cG9ydCwgdjEuMCBTdGVwNC5zdmcgUGFnaW5hIDEgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3Zpc2lvLzIwMDMvU1ZHRXh0ZW5zaW9ucy8iIHdpZHRoPSI1LjQxMzdpbiIKCQloZWlnaHQ9IjEuODMxMDJpbiIgdmlld0JveD0iMCAwIDM4OS43ODYgMTMxLjgzNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiBjbGFzcz0ic3QxMCIKCQl4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cgk8djpkb2N1bWVudFByb3BlcnRpZXMgdjpsYW5nSUQ9IjEwNDAiIHY6bWV0cmljPSJ0cnVlIiB2OnZpZXdNYXJrdXA9ImZhbHNlIj4KCQk8djp1c2VyRGVmcz4KCQkJPHY6dWQgdjpuYW1lVT0iTUJTQUFkZGluT3V0bGluZVZpc2libGUiIHY6cHJvbXB0PSIiIHY6dmFsPSJWVDAoMSk6MjYiLz4KCQk8L3Y6dXNlckRlZnM+Cgk8L3Y6ZG9jdW1lbnRQcm9wZXJ0aWVzPgoKCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgk8IVtDREFUQVsKCQkuc3QxIHtmaWxsOiNmZmZmZmY7c3Ryb2tlOm5vbmU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDIge2ZpbGw6I2JmYmZiZjtzdHJva2U6I2JmYmZiZjtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0MyB7ZmlsbDojZmZmZmZmO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MC43Mn0KCQkuc3Q0IHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDUge2ZpbGw6IzAwMDAwMDtmb250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MC42NjY2NjRlbX0KCQkuc3Q2IHtmb250LXNpemU6MWVtfQoJCS5zdDcge21hcmtlci1lbmQ6dXJsKCNtcmtyMTMtNDYpO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MC43Mn0KCQkuc3Q4IHtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4yMjIyMjIyMjIyMjIyMn0KCQkuc3Q5IHtmaWxsOiMwMDAwMDA7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDEwIHtmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7Zm9udC1zaXplOjEyO292ZXJmbG93OnZpc2libGU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1taXRlcmxpbWl0OjN9CgldXT4KCTwvc3R5bGU+CgoJPGRlZnMgaWQ9Ik1hcmtlcnMiPgoJCTxnIGlkPSJsZW5kMTMiPgoJCQk8cGF0aCBkPSJNIDMgMSBMIC0wIDAgTCAzIC0xIEwgMyAxICIgc3R5bGU9InN0cm9rZTpub25lIi8+CgkJPC9nPgoJCTxtYXJrZXIgaWQ9Im1ya3IxMy00NiIgY2xhc3M9InN0OCIgdjphcnJvd1R5cGU9IjEzIiB2OmFycm93U2l6ZT0iMiIgdjpzZXRiYWNrPSIxMy41IiByZWZYPSItMTMuNSIgb3JpZW50PSJhdXRvIgoJCQkJbWFya2VyVW5pdHM9InN0cm9rZVdpZHRoIj4KCQkJPHVzZSB4bGluazpocmVmPSIjbGVuZDEzIiB0cmFuc2Zvcm09InNjYWxlKC00LjUsLTQuNSkgIi8+CgkJPC9tYXJrZXI+Cgk8L2RlZnM+Cgk8ZyB2Om1JRD0iMCIgdjppbmRleD0iMSIgdjpncm91cENvbnRleHQ9ImZvcmVncm91bmRQYWdlIj4KCQk8dGl0bGU+UGFnaW5hIDE8L3RpdGxlPgoJCTx2OnBhZ2VQcm9wZXJ0aWVzIHY6ZHJhd2luZ1NjYWxlPSIwLjAzOTM3MDEiIHY6cGFnZVNjYWxlPSIwLjAzOTM3MDEiIHY6ZHJhd2luZ1VuaXRzPSIyNCIgdjpzaGFkb3dPZmZzZXRYPSI4LjUwMzk0IgoJCQkJdjpzaGFkb3dPZmZzZXRZPSItOC41MDM5NCIvPgoJCTxnIGlkPSJzaGFwZTEzOS0xIiB2Om1JRD0iMTM5IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNzIsLTAuNzIpIj4KCQkJPHRpdGxlPkZvZ2xpby4xMzk8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSIxLjQ0IiB3aWR0aD0iMzg4LjM0NiIgaGVpZ2h0PSIxMzAuMzk0IiBjbGFzcz0ic3QxIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTEtMyIgdjptSUQ9IjEiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAxLjk4LC0xMi4wNTg2KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjQxLjEyNSIgd2lkdGg9IjE3OC41ODMiIGhlaWdodD0iOTAuNzA4NyIgY2xhc3M9InN0MiIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGU0LTUiIHY6bUlEPSI0IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5OS4xNDUsLTE0Ljg5MzIpIj4KCQkJPHRpdGxlPkZvZ2xpby40PC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iMzguMjkwNCIgd2lkdGg9IjE3OC41ODMiIGhlaWdodD0iOTMuNTQzMyIgY2xhc3M9InN0MyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNS03IiB2Om1JRD0iMTUiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjkyLjY4OSwtMjMuMzk3MikiPgoJCQk8dGl0bGU+Rm9nbGlvLjE1PC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iNTguMTMyOSIgd2lkdGg9Ijc5LjM3MDEiIGhlaWdodD0iNzMuNzAwOCIgY2xhc3M9InN0MiIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxMzgtOSIgdjptSUQ9IjEzOCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjU1NDY1LC04NS43NTk0KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTM4PC90aXRsZT4KCQkJPGRlc2M+V2ViIENsaWVudDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjguMzQ2NSIgY3k9IjEyNC43NDciIHdpZHRoPSI1Ni43IiBoZWlnaHQ9IjE0LjE3MzIiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTE3LjY2IiB3aWR0aD0iNTYuNjkyOSIgaGVpZ2h0PSIxNC4xNzMyIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjguNzgiIHk9IjEyNy4xNSIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5XZWIgQ2xpZW50PC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTItMTIiIHY6bUlEPSIyIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjkxOCwtNDMuMjM5NykiPgoJCQk8dGl0bGU+Rm9nbGlvLjI8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI5MS4zMzg4IiB3aWR0aD0iNDAuNDk0OSIgaGVpZ2h0PSI0MC40OTQ5IiBjbGFzcz0ic3QyIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTMtMTQiIHY6bUlEPSIzIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0Ljg5MzIsLTQ1LjI2NDQpIj4KCQkJPHRpdGxlPkZvZ2xpby4zPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iOTEuMzM4OCIgd2lkdGg9IjQwLjQ5NDkiIGhlaWdodD0iNDAuNDk0OSIgY2xhc3M9InN0MyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGU1LTE2IiB2Om1JRD0iNSIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTYuMzExLC0xMDguNDM3KSI+CgkJCTx0aXRsZT5Gb2dsaW8uNTwvdGl0bGU+CgkJCTxkZXNjPldlYiBTZXJ2ZXI8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjgwLjc4NzQiIGN5PSIxMjQuNzQ3IiB3aWR0aD0iMTYxLjU4IiBoZWlnaHQ9IjE0LjE3MzIiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTE3LjY2IiB3aWR0aD0iMTYxLjU3NSIgaGVpZ2h0PSIxNC4xNzMyIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjU5LjY3IiB5PSIxMjcuMTUiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+V2ViIFNlcnZlcjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNDMtMTkiIHY6bUlEPSIxNDMiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAxLjE3LC00Mi44MzQ3KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTQzPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iOTEuMzM4OCIgd2lkdGg9IjYwLjMzNzUiIGhlaWdodD0iNDAuNDk0OSIgY2xhc3M9InN0MiIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNDQtMjEiIHY6bUlEPSIxNDQiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTk5LjE0NSwtNDUuMzI4MikiPgoJCQk8dGl0bGU+Rm9nbGlvLjE0NDwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjkxLjMzODgiIHdpZHRoPSI1OS41Mjc2IiBoZWlnaHQ9IjQwLjQ5NDkiIGNsYXNzPSJzdDMiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTQyLTIzIiB2Om1JRD0iMTQyIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5My40NzYsLTU4Ljg5NCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE0MjwvdGl0bGU+CgkJCTxkZXNjPmNyZWRlbnRpYWw8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjI4LjM0NjUiIGN5PSIxMjQuNzQ3IiB3aWR0aD0iNTYuNyIgaGVpZ2h0PSIxNC4xNzMyIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjExNy42NiIgd2lkdGg9IjU2LjY5MjkiIGhlaWdodD0iMTQuMTczMiIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSIxMSIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPmNyZWRlbnRpYWw8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTAtMjYiIHY6bUlEPSIxMCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTYuMDU1LC0xNy42NjQxKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTA8L3RpdGxlPgoJCQk8ZGVzYz5TZXNzaW9uIENvbnRleHQ8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjIyLjgwNDciIGN5PSIxMjAuMzY4IiB3aWR0aD0iNDUuNjEiIGhlaWdodD0iMjIuOTMyMyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMDguOTAxIiB3aWR0aD0iNDUuNjA5NCIgaGVpZ2h0PSIyMi45MzIzIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjguNTciIHk9IjExNy45NyIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5TZXNzaW9uPHY6bmV3bGluZUNoYXIvPjx0c3BhbgoJCQkJCQl4PSI5LjAyIiBkeT0iMS4yZW0iIGNsYXNzPSJzdDYiPkNvbnRleHQ8L3RzcGFuPjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUxMS0zMCIgdjptSUQ9IjExIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4OS44NTQsLTI2LjIzMTgpIj4KCQkJPHRpdGxlPkZvZ2xpby4xMTwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjU4LjEzMjkiIHdpZHRoPSI3OS4zNzAxIiBoZWlnaHQ9IjczLjcwMDgiIGNsYXNzPSJzdDMiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTItMzIiIHY6bUlEPSIxMiIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyODkuODU0LC0yNi4yMzE4KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTI8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI1OC4xMzI5IiB3aWR0aD0iMTcuMDA3OSIgaGVpZ2h0PSI3My43MDA4IiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTEzLTM0IiB2Om1JRD0iMTMiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDIxLjY4OCwyOS4wNjY1KSByb3RhdGUoOTApIj4KCQkJPHRpdGxlPkZvZ2xpby4xMzwvdGl0bGU+CgkJCTxkZXNjPkF1dGhlbnRpY2F0aW9uPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIzMi41OTg0IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjY1LjIiIGhlaWdodD0iMTQuMTczMiIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNjYiIHdpZHRoPSI2NS4xOTY5IiBoZWlnaHQ9IjE0LjE3MzIiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iNy4yNSIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPkF1dGhlbnRpY2F0aW9uPC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTE0LTM3IiB2Om1JRD0iMTQiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjE5MiwtNTcuMTU3OCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE0PC90aXRsZT4KCQkJPGRlc2M+SlNQL1NlcnZsZXQgT2JqZWN0PC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIyOC42MDE2IiBjeT0iMTIwLjM2OCIgd2lkdGg9IjU3LjIxIiBoZWlnaHQ9IjIyLjkzMjMiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTA4LjkwMSIgd2lkdGg9IjU3LjIwMzEiIGhlaWdodD0iMjIuOTMyMyIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI3LjcxIiB5PSIxMTcuOTciIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+SlNQL1NlcnZsZXQ8djpuZXdsaW5lQ2hhci8+PHRzcGFuCgkJCQkJCXg9IjE3LjA0IiBkeT0iMS4yZW0iIGNsYXNzPSJzdDYiPk9iamVjdDwvdHNwYW4+PC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTYtNDEiIHY6bUlEPSI2IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1LjM4ODIsMjA3LjQxNykgc2NhbGUoMSwtMSkiPgoJCQk8dGl0bGU+Rm9nbGlvLjY8L3RpdGxlPgoJCQk8cGF0aCBkPSJNMCAxMzEuODMgTDEzNC4wNCAxMzEuODMiIGNsYXNzPSJzdDciLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlNy00NyIgdjptSUQ9IjciIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIxLjM0MSw3Mi43NDgzKSByb3RhdGUoOTApIj4KCQkJPHRpdGxlPkZvZ2xpby43PC90aXRsZT4KCQkJPHBhdGggZD0iTTUuNjcgMTMxLjgzIEwwIDEzMS44MyBMMi44MyAxMjIuMiBMNS42NyAxMzEuODMgWiIgY2xhc3M9InN0OSIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGU4LTQ5IiB2Om1JRD0iOCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2My4wODIyLC00MC40MDUpIj4KCQkJPHRpdGxlPkZvZ2xpby44PC90aXRsZT4KCQkJPGRlc2M+UG9zdCB0byBidXNpbmVzcyBsb2dpYzwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iNDguMTg5IiBjeT0iMTI0LjYyIiB3aWR0aD0iOTYuMzgiIGhlaWdodD0iMTQuNDI4MyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNDA1IiB3aWR0aD0iOTYuMzc4IiBoZWlnaHQ9IjE0LjQyODMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOS41IiB5PSIxMjcuMDIiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+UG9zdCB0byBidXNpbmVzcyBsb2dpYzwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGU5LTUyIiB2Om1JRD0iOSIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2OC43NTE1LC03My4xMzEpIj4KCQkJPHRpdGxlPkZvZ2xpby45PC90aXRsZT4KCQkJPGRlc2M+UmVzdWx0IG9mIHJlcXVlc3Q8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjQyLjUxOTciIGN5PSIxMjMuODU3IiB3aWR0aD0iODUuMDQiIGhlaWdodD0iMTUuOTU0MyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTUuODc5IiB3aWR0aD0iODUuMDM5NCIgaGVpZ2h0PSIxNS45NTQzIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjEyLjI4IiB5PSIxMjYuMjYiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+UmVzdWx0IG9mIHJlcXVlc3Q8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTYtNTUiIHY6bUlEPSIxNiIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTkuMTQ1LDE5MC41MzYpIHJvdGF0ZSgxODApIj4KCQkJPHRpdGxlPkZvZ2xpby4xNjwvdGl0bGU+CgkJCTxwYXRoIGQ9Ik0wIDEzMS44MyBMMTM0LjA0IDEzMS44MyIgY2xhc3M9InN0NyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNy02MCIgdjptSUQ9IjE3IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02Ni44MDc3LDU1Ljg2OCkgcm90YXRlKC05MCkgc2NhbGUoLTEsMSkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE3PC90aXRsZT4KCQkJPHBhdGggZD0iTTUuNjcgMTMxLjgzIEwwIDEzMS44MyBMMi44MyAxMjIuMiBMNS42NyAxMzEuODMgWiIgY2xhc3M9InN0OSIvPgoJCTwvZz4KCTwvZz4KPC9zdmc+Cg== [invoking-an-enterprise-bean-business-method]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KPCEtLSBHZW5lcmF0byBkYSBNaWNyb3NvZnQgVmlzaW8gMTEuMCwgU1ZHIEV4cG9ydCwgdjEuMCBQbGF0Zm9ybV9TcGVjLTcuc3ZnIFBhZ2luYSAxIC0tPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6dj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS92aXNpby8yMDAzL1NWR0V4dGVuc2lvbnMvIiB3aWR0aD0iNy40MjE1N2luIgoJCWhlaWdodD0iMS44MzEwMmluIiB2aWV3Qm94PSIwIDAgNTM0LjM1MyAxMzEuODM0IiB4bWw6c3BhY2U9InByZXNlcnZlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIGNsYXNzPSJzdDEyIgoJCXhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KCTx2OmRvY3VtZW50UHJvcGVydGllcyB2OmxhbmdJRD0iMTA0MCIgdjptZXRyaWM9InRydWUiIHY6dmlld01hcmt1cD0iZmFsc2UiPgoJCTx2OnVzZXJEZWZzPgoJCQk8djp1ZCB2Om5hbWVVPSJNQlNBQWRkaW5PdXRsaW5lVmlzaWJsZSIgdjpwcm9tcHQ9IiIgdjp2YWw9IlZUMCgxKToyNiIvPgoJCTwvdjp1c2VyRGVmcz4KCTwvdjpkb2N1bWVudFByb3BlcnRpZXM+CgoJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCTwhW0NEQVRBWwoJCS5zdDEge2ZpbGw6I2ZmZmZmZjtzdHJva2U6bm9uZTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0MiB7ZmlsbDojYmZiZmJmO3N0cm9rZTojYmZiZmJmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MC43Mn0KCQkuc3QzIHtmaWxsOiNmZmZmZmY7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDQge2ZpbGw6bm9uZTtzdHJva2U6bm9uZTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0NSB7ZmlsbDojMDAwMDAwO2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZTowLjY2NjY2NGVtfQoJCS5zdDYge2ZvbnQtc2l6ZToxZW19CgkJLnN0NyB7bWFya2VyLWVuZDp1cmwoI21ya3IxMy00MSk7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDowLjcyfQoJCS5zdDgge2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjIyMjIyMjIyMjIyMjIyfQoJCS5zdDkge2ZpbGw6IzAwMDAwMDtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0MTAge2ZpbGw6IzY2MDAzMztzdHJva2U6IzY2MDAzMztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjAuNzJ9CgkJLnN0MTEge3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6Mi4xNn0KCQkuc3QxMiB7ZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO2ZvbnQtc2l6ZToxMjtvdmVyZmxvdzp2aXNpYmxlO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbWl0ZXJsaW1pdDozfQoJXV0+Cgk8L3N0eWxlPgoKCTxkZWZzIGlkPSJNYXJrZXJzIj4KCQk8ZyBpZD0ibGVuZDEzIj4KCQkJPHBhdGggZD0iTSAzIDEgTCAtMCAwIEwgMyAtMSBMIDMgMSAiIHN0eWxlPSJzdHJva2U6bm9uZSIvPgoJCTwvZz4KCQk8bWFya2VyIGlkPSJtcmtyMTMtNDEiIGNsYXNzPSJzdDgiIHY6YXJyb3dUeXBlPSIxMyIgdjphcnJvd1NpemU9IjIiIHY6c2V0YmFjaz0iMTMuNSIgcmVmWD0iLTEzLjUiIG9yaWVudD0iYXV0byIKCQkJCW1hcmtlclVuaXRzPSJzdHJva2VXaWR0aCI+CgkJCTx1c2UgeGxpbms6aHJlZj0iI2xlbmQxMyIgdHJhbnNmb3JtPSJzY2FsZSgtNC41LC00LjUpICIvPgoJCTwvbWFya2VyPgoJPC9kZWZzPgoJPGcgdjptSUQ9IjAiIHY6aW5kZXg9IjEiIHY6Z3JvdXBDb250ZXh0PSJmb3JlZ3JvdW5kUGFnZSI+CgkJPHRpdGxlPlBhZ2luYSAxPC90aXRsZT4KCQk8djpwYWdlUHJvcGVydGllcyB2OmRyYXdpbmdTY2FsZT0iMC4wMzkzNzAxIiB2OnBhZ2VTY2FsZT0iMC4wMzkzNzAxIiB2OmRyYXdpbmdVbml0cz0iMjQiIHY6c2hhZG93T2Zmc2V0WD0iOC41MDM5NCIKCQkJCXY6c2hhZG93T2Zmc2V0WT0iLTguNTAzOTQiLz4KCQk8ZyBpZD0ic2hhcGUxMzktMSIgdjptSUQ9IjEzOSIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjcyLC0wLjcyKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTM5PC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iMS40NCIgd2lkdGg9IjUzMi45MTMiIGhlaWdodD0iMTMwLjM5NCIgY2xhc3M9InN0MSIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxLTMiIHY6bUlEPSIxIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyOC4yNzksLTEyLjA1ODYpIj4KCQkJPHRpdGxlPkZvZ2xpby4xPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iNDEuMTI1IiB3aWR0aD0iMTc4LjU4MyIgaGVpZ2h0PSI5MC43MDg3IiBjbGFzcz0ic3QyIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTQtNSIgdjptSUQ9IjQiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI1LjQ0NCwtMTQuODkzMikiPgoJCQk8dGl0bGU+Rm9nbGlvLjQ8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSIzOC4yOTA0IiB3aWR0aD0iMTc4LjU4MyIgaGVpZ2h0PSI5My41NDMzIiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTE1LTciIHY6bUlEPSIxNSIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTguOTg4LC00My4yMzk3KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTU8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI3Ny45NzU0IiB3aWR0aD0iNzkuMzcwMSIgaGVpZ2h0PSI1My44NTgzIiBjbGFzcz0ic3QyIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTEzOC05IiB2Om1JRD0iMTM4IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNTU0NjUsLTg1Ljc1OTQpIj4KCQkJPHRpdGxlPkZvZ2xpby4xMzg8L3RpdGxlPgoJCQk8ZGVzYz5XZWIgQ2xpZW50PC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSIyOC4zNDY1IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjU2LjciIGhlaWdodD0iMTQuMTczMiIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNjYiIHdpZHRoPSI1Ni42OTI5IiBoZWlnaHQ9IjE0LjE3MzIiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOC43OCIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPldlYiBDbGllbnQ8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMi0xMiIgdjptSUQ9IjIiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuOTE4LC00My4yMzk3KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMjwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjkxLjMzODgiIHdpZHRoPSI0MC40OTQ5IiBoZWlnaHQ9IjQwLjQ5NDkiIGNsYXNzPSJzdDIiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMy0xNCIgdjptSUQ9IjMiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuODkzMiwtNDUuMjY0NCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjM8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI5MS4zMzg4IiB3aWR0aD0iNDAuNDk0OSIgaGVpZ2h0PSI0MC40OTQ5IiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTUtMTYiIHY6bUlEPSI1IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMi42MSwtMTA4LjQzNykiPgoJCQk8dGl0bGU+Rm9nbGlvLjU8L3RpdGxlPgoJCQk8ZGVzYz5XZWIgU2VydmVyPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSI4MC43ODc0IiBjeT0iMTI0Ljc0NyIgd2lkdGg9IjE2MS41OCIgaGVpZ2h0PSIxNC4xNzMyIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjExNy42NiIgd2lkdGg9IjE2MS41NzUiIGhlaWdodD0iMTQuMTczMiIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI1OS42NyIgeT0iMTI3LjE1IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPldlYiBTZXJ2ZXI8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTQzLTE5IiB2Om1JRD0iMTQzIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNy40NjksLTQyLjgzNDcpIj4KCQkJPHRpdGxlPkZvZ2xpby4xNDM8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSI5MS4zMzg4IiB3aWR0aD0iNjAuMzM3NSIgaGVpZ2h0PSI0MC40OTQ5IiBjbGFzcz0ic3QyIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTE0NC0yMSIgdjptSUQ9IjE0NCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjUuNDQ0LC00NS4zMjgyKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTQ0PC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iOTEuMzM4OCIgd2lkdGg9IjU5LjUyNzYiIGhlaWdodD0iNDAuNDk0OSIgY2xhc3M9InN0MyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNDItMjMiIHY6bUlEPSIxNDIiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTE5Ljc3NSwtNTguODk0KSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTQyPC90aXRsZT4KCQkJPGRlc2M+Y3JlZGVudGlhbDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjguMzQ2NSIgY3k9IjEyNC43NDciIHdpZHRoPSI1Ni43IiBoZWlnaHQ9IjE0LjE3MzIiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTE3LjY2IiB3aWR0aD0iNTYuNjkyOSIgaGVpZ2h0PSIxNC4xNzMyIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjExIiB5PSIxMjcuMTUiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+Y3JlZGVudGlhbDwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUxMC0yNiIgdjptSUQ9IjEwIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMi4zNTUsLTE3LjY2NDEpIj4KCQkJPHRpdGxlPkZvZ2xpby4xMDwvdGl0bGU+CgkJCTxkZXNjPlNlc3Npb24gQ29udGV4dDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjIuODA0NyIgY3k9IjEyMC4zNjgiIHdpZHRoPSI0NS42MSIgaGVpZ2h0PSIyMi45MzIzIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjEwOC45MDEiIHdpZHRoPSI0NS42MDk0IiBoZWlnaHQ9IjIyLjkzMjMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOC41NyIgeT0iMTE3Ljk3IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPlNlc3Npb248djpuZXdsaW5lQ2hhci8+PHRzcGFuCgkJCQkJCXg9IjkuMDIiIGR5PSIxLjJlbSIgY2xhc3M9InN0NiI+Q29udGV4dDwvdHNwYW4+PC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTExLTMwIiB2Om1JRD0iMTEiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE2LjE1MywtNDYuMDc0MykiPgoJCQk8dGl0bGU+Rm9nbGlvLjExPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iNzcuOTc1NCIgd2lkdGg9Ijc5LjM3MDEiIGhlaWdodD0iNTMuODU4MyIgY2xhc3M9InN0MyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNC0zMiIgdjptSUQ9IjE0IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxNi4xNTMsLTYyLjgyNzEpIj4KCQkJPHRpdGxlPkZvZ2xpby4xNDwvdGl0bGU+CgkJCTxkZXNjPkpTUC9TZXJ2bGV0IE9iamVjdDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjguNjAxNiIgY3k9IjEyMC4zNjgiIHdpZHRoPSI1Ny4yMSIgaGVpZ2h0PSIyMi45MzIzIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjEwOC45MDEiIHdpZHRoPSI1Ny4yMDMxIiBoZWlnaHQ9IjIyLjkzMjMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iNy43MSIgeT0iMTE3Ljk3IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPkpTUC9TZXJ2bGV0PHY6bmV3bGluZUNoYXIvPjx0c3BhbgoJCQkJCQl4PSIxNy4wNCIgZHk9IjEuMmVtIiBjbGFzcz0ic3Q2Ij5PYmplY3Q8L3RzcGFuPjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUxNi0zNiIgdjptSUQ9IjE2IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS40NDQsMjA5LjA4OSkgcm90YXRlKDE4MCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE2PC90aXRsZT4KCQkJPHBhdGggZD0iTTAgMTMxLjgzIEw2MC4zNCAxMzEuODMiIGNsYXNzPSJzdDciLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMTctNDIiIHY6bUlEPSIxNyIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjYuODA3Nyw3NC40MjA4KSByb3RhdGUoLTkwKSBzY2FsZSgtMSwxKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMTc8L3RpdGxlPgoJCQk8cGF0aCBkPSJNNS42NyAxMzEuODMgTDAgMTMxLjgzIEwyLjgzIDEyMi4yIEw1LjY3IDEzMS44MyBaIiBjbGFzcz0ic3Q5Ii8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTYtNDQiIHY6bUlEPSI2IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1My4wMDMsLTE3LjQ3MjgpIj4KCQkJPHRpdGxlPkZvZ2xpby42PC90aXRsZT4KCQkJPGRlc2M+U2VjdXJpdHkgQ29udGV4dDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjIuODA0NyIgY3k9IjEyMC4zNjgiIHdpZHRoPSI0NS42MSIgaGVpZ2h0PSIyMi45MzIzIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjEwOC45MDEiIHdpZHRoPSI0NS42MDk0IiBoZWlnaHQ9IjIyLjkzMjMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOC4zNiIgeT0iMTE3Ljk3IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPlNlY3VyaXR5PHY6bmV3bGluZUNoYXIvPjx0c3BhbgoJCQkJCQl4PSI5LjAyIiBkeT0iMS4yZW0iIGNsYXNzPSJzdDYiPkNvbnRleHQ8L3RzcGFuPjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGU3LTQ4IiB2Om1JRD0iNyIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOTUuNTIzLDE3Ny45MDgpIHNjYWxlKDEsLTEpIj4KCQkJPHRpdGxlPkZvZ2xpby43PC90aXRsZT4KCQkJPHBhdGggZD0iTTAgMTMxLjgzIEwxNDMuMzUgMTMxLjgzIiBjbGFzcz0ic3Q3Ii8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTgtNTMiIHY6bUlEPSI4IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU3MC41MDYsNDMuMjM5Nykgcm90YXRlKDkwKSI+CgkJCTx0aXRsZT5Gb2dsaW8uODwvdGl0bGU+CgkJCTxwYXRoIGQ9Ik01LjY3IDEzMS44MyBMMCAxMzEuODMgTDIuODMgMTIyLjIgTDUuNjcgMTMxLjgzIFoiIGNsYXNzPSJzdDkiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlOS01NSIgdjptSUQ9IjkiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjkzLjcwMSwtOTAuMDExMykiPgoJCQk8dGl0bGU+Rm9nbGlvLjk8L3RpdGxlPgoJCQk8ZGVzYz5DcmVkZW50aWFsIHVzZWQgdG8gZXN0YWJsaXNoIHNlY3VyaXR5IGFzc29jaWF0aW9uPC9kZXNjPgoJCQk8djp0ZXh0QmxvY2sgdjptYXJnaW5zPSJyZWN0KDQsNCw0LDQpIiB2OnRhYlNwYWNlPSI0Mi41MTk3Ii8+CgkJCTx2OnRleHRSZWN0IGN4PSI2Ny4wMTkxIiBjeT0iMTIxLjkxMiIgd2lkdGg9IjEzNC4wNCIgaGVpZ2h0PSIxOS44NDI1Ii8+CgkJCTxyZWN0IHg9IjAiIHk9IjExMS45OTEiIHdpZHRoPSIxMzQuMDM4IiBoZWlnaHQ9IjE5Ljg0MjUiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iMTcuNjYiIHk9IjExOS41MSIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5DcmVkZW50aWFsIHVzZWQgdG8gZXN0YWJsaXNoIDx0c3BhbgoJCQkJCQl4PSIzMi4xMSIgZHk9IjEuMmVtIiBjbGFzcz0ic3Q2Ij5zZWN1cml0eSBhc3NvY2lhdGlvbjwvdHNwYW4+PC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTEyLTU5IiB2Om1JRD0iMTIiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIxLjAzNSwtNTQuNDYwMikiPgoJCQk8dGl0bGU+Rm9nbGlvLjEyPC90aXRsZT4KCQkJPGRlc2M+cmVtb3RlIGNhbGw8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjM1LjQzMzEiIGN5PSIxMjMuODU3IiB3aWR0aD0iNzAuODciIGhlaWdodD0iMTUuOTU0MyIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTUuODc5IiB3aWR0aD0iNzAuODY2MSIgaGVpZ2h0PSIxNS45NTQzIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjE1Ljg3IiB5PSIxMjYuMjYiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+cmVtb3RlIGNhbGw8L3RleHQ+CQk8L2c+CgkJPGcgaWQ9InNoYXBlMTMtNjIiIHY6bUlEPSIxMyIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDguNTk0LDIwOS4yMDcpIHJvdGF0ZSgxODApIj4KCQkJPHRpdGxlPkZvZ2xpby4xMzwvdGl0bGU+CgkJCTxwYXRoIGQ9Ik0wIDEzMS44MyBMMTQzLjM1IDEzMS44MyIgY2xhc3M9InN0NyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxOC02NyIgdjptSUQ9IjE4IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3My4zMjcsNzQuNTM4OSkgcm90YXRlKC05MCkgc2NhbGUoLTEsMSkiPgoJCQk8dGl0bGU+Rm9nbGlvLjE4PC90aXRsZT4KCQkJPHBhdGggZD0iTTUuNjcgMTMxLjgzIEwwIDEzMS44MyBMMi44MyAxMjIuMiBMNS42NyAxMzEuODMgWiIgY2xhc3M9InN0OSIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUxOS02OSIgdjptSUQ9IjE5IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1MS40MjksLTEyLjA1ODYpIj4KCQkJPHRpdGxlPkZvZ2xpby4xOTwvdGl0bGU+CgkJCTxyZWN0IHg9IjAiIHk9IjM5LjAyNTMiIHdpZHRoPSI3OS4zNzAxIiBoZWlnaHQ9IjkyLjgwODQiIGNsYXNzPSJzdDIiLz4KCQk8L2c+CgkJPGcgaWQ9InNoYXBlMjAtNzEiIHY6bUlEPSIyMCIgdjpncm91cENvbnRleHQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDguNTk0LC0xNS42MjgxKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMjA8L3RpdGxlPgoJCQk8cmVjdCB4PSIwIiB5PSIzOS4wMjUzIiB3aWR0aD0iNzkuMzcwMSIgaGVpZ2h0PSI5Mi44MDg0IiBjbGFzcz0ic3QzIi8+CgkJPC9nPgoJCTxnIGlkPSJzaGFwZTIxLTczIiB2Om1JRD0iMjEiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQ4LjU5NCwtMTQuODkzMikiPgoJCQk8dGl0bGU+Rm9nbGlvLjIxPC90aXRsZT4KCQkJPHJlY3QgeD0iMCIgeT0iMzguMjkwNCIgd2lkdGg9IjE3LjAwNzkiIGhlaWdodD0iOTMuNTQzMyIgY2xhc3M9InN0MyIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUyMi03NSIgdjptSUQ9IjIyIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4MC40MjgsMjYuMjMxOCkgcm90YXRlKDkwKSI+CgkJCTx0aXRsZT5Gb2dsaW8uMjI8L3RpdGxlPgoJCQk8ZGVzYz5BdXRoZW50aWNhdGlvbjwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMzIuNTk4NCIgY3k9IjEyNC43NDciIHdpZHRoPSI2NS4yIiBoZWlnaHQ9IjE0LjE3MzIiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTE3LjY2IiB3aWR0aD0iNjUuMTk2OSIgaGVpZ2h0PSIxNC4xNzMyIiBjbGFzcz0ic3Q0Ii8+CgkJCTx0ZXh0IHg9IjcuMjUiIHk9IjEyNy4xNSIgY2xhc3M9InN0NSIgdjpsYW5nSUQ9IjEwNDAiPjx2OnBhcmFncmFwaCB2Omhvcml6QWxpZ249IjEiLz48djp0YWJMaXN0Lz5BdXRoZW50aWNhdGlvbjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUyMy03OCIgdjptSUQ9IjIzIiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ3NC4xMDYsLTY4LjQ5NjQpIj4KCQkJPHRpdGxlPkZvZ2xpby4yMzwvdGl0bGU+CgkJCTxkZXNjPkVKQjwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMTUuODQ1NyIgY3k9IjEyMC4zNjgiIHdpZHRoPSIzMS43IiBoZWlnaHQ9IjIyLjkzMjMiLz4KCQkJPHJlY3QgeD0iMCIgeT0iMTA4LjkwMSIgd2lkdGg9IjMxLjY5MTMiIGhlaWdodD0iMjIuOTMyMyIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI4LjUxIiB5PSIxMjIuNzciIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+RUpCPC90ZXh0PgkJPC9nPgoJCTxnIGlkPSJzaGFwZTI0LTgxIiB2Om1JRD0iMjQiIHY6Z3JvdXBDb250ZXh0PSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDc2LjgxMywtMTcuNDcyOCkiPgoJCQk8dGl0bGU+Rm9nbGlvLjI0PC90aXRsZT4KCQkJPGRlc2M+U2VjdXJpdHkgQ29udGV4dDwvZGVzYz4KCQkJPHY6dGV4dEJsb2NrIHY6bWFyZ2lucz0icmVjdCg0LDQsNCw0KSIgdjp0YWJTcGFjZT0iNDIuNTE5NyIvPgoJCQk8djp0ZXh0UmVjdCBjeD0iMjIuODA0NyIgY3k9IjEyMC4zNjgiIHdpZHRoPSI0NS42MSIgaGVpZ2h0PSIyMi45MzIzIi8+CgkJCTxyZWN0IHg9IjAiIHk9IjEwOC45MDEiIHdpZHRoPSI0NS42MDk0IiBoZWlnaHQ9IjIyLjkzMjMiIGNsYXNzPSJzdDQiLz4KCQkJPHRleHQgeD0iOC4zNiIgeT0iMTE3Ljk3IiBjbGFzcz0ic3Q1IiB2OmxhbmdJRD0iMTA0MCI+PHY6cGFyYWdyYXBoIHY6aG9yaXpBbGlnbj0iMSIvPjx2OnRhYkxpc3QvPlNlY3VyaXR5PHY6bmV3bGluZUNoYXIvPjx0c3BhbgoJCQkJCQl4PSI5LjAyIiBkeT0iMS4yZW0iIGNsYXNzPSJzdDYiPkNvbnRleHQ8L3RzcGFuPjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUyNS04NSIgdjptSUQ9IjI1IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQzNy4yNTUsLTEwOC40MzcpIj4KCQkJPHRpdGxlPkZvZ2xpby4yNTwvdGl0bGU+CgkJCTxkZXNjPkVKQiBDb250YWluZXI8L2Rlc2M+CgkJCTx2OnRleHRCbG9jayB2Om1hcmdpbnM9InJlY3QoNCw0LDQsNCkiIHY6dGFiU3BhY2U9IjQyLjUxOTciLz4KCQkJPHY6dGV4dFJlY3QgY3g9IjM1LjMwNTUiIGN5PSIxMjQuNzQ3IiB3aWR0aD0iNzAuNjIiIGhlaWdodD0iMTQuMTczMiIvPgoJCQk8cmVjdCB4PSIwIiB5PSIxMTcuNjYiIHdpZHRoPSI3MC42MTEiIGhlaWdodD0iMTQuMTczMiIgY2xhc3M9InN0NCIvPgoJCQk8dGV4dCB4PSI5LjUxIiB5PSIxMjcuMTUiIGNsYXNzPSJzdDUiIHY6bGFuZ0lEPSIxMDQwIj48djpwYXJhZ3JhcGggdjpob3JpekFsaWduPSIxIi8+PHY6dGFiTGlzdC8+RUpCIENvbnRhaW5lcjwvdGV4dD4JCTwvZz4KCQk8ZyBpZD0ic2hhcGUyNi04OCIgdjptSUQ9IjI2IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQyMC41NDMsLTMwLjIxNjQpIHJvdGF0ZSgtMzApIj4KCQkJPHRpdGxlPkZvZ2xpby4yNjwvdGl0bGU+CgkJCTxlbGxpcHNlIGN4PSIxMi43NTQyIiBjeT0iMTIzLjkzOCIgcng9IjEyLjc1NDIiIHJ5PSI3Ljg5NTQ1IiBjbGFzcz0ic3QxMCIvPgoJCTwvZz4KCQk8ZyBpZD0ic2hhcGUyNy05MCIgdjptSUQ9IjI3IiB2Omdyb3VwQ29udGV4dD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQxOC45NTcsLTM1LjgyMDEpIHJvdGF0ZSgtMjkuMzgyNSkiPgoJCQk8dGl0bGU+Rm9nbGlvLjI3PC90aXRsZT4KCQkJPHBhdGggZD0iTTAgMTI4Ljk4IEMxLjM2IDEyOS44OCAyLjgzIDEzMS4wOSA0Ljk3IDEzMS42IEM1LjY5IDEzMS43OCA2LjQ5IDEzMS44NyA3LjIyIDEzMS44MiBDOC44MiAxMzEuNzIgMTAuMDggMTMwLjk0CgkJCQkJCSAxMS4yNyAxMzAuMiBDMTIuOTEgMTI5LjE5IDE0LjQyIDEyOC4yNyAxNi41OSAxMjcuODMgQzE4IDEyNy41NSAxOS43IDEyNy40OCAyMS4wOCAxMjcuNjYgQzIyLjg4IDEyNy45MSAyNC4xNgoJCQkJCQkgMTI4LjU4IDI1LjQ2IDEyOC45OCIgY2xhc3M9InN0MTEiLz4KCQk8L2c+Cgk8L2c+Cjwvc3ZnPgo=