From do-not-reply at jboss.com Thu Jul 19 12:51:57 2012 Content-Type: multipart/mixed; boundary="===============1480906187127857155==" MIME-Version: 1.0 From: Ragav Baskaran To: jboss-user at lists.jboss.org Subject: [jboss-user] [Beginner's Corner] - Info on Getting reference to JBoss MBean Server Date: Thu, 19 Jul 2012 12:51:57 -0400 Message-ID: <2-749121-3-111223-1342716711479.jivesbs.jivemailuser@https://community.jboss.org> --===============1480906187127857155== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Ragav Baskaran [https://community.jboss.org/people/ragavendran_kb] created = the discussion "Info on Getting reference to JBoss MBean Server" To view the discussion, visit: https://community.jboss.org/message/749121#7= 49121 -------------------------------------------------------------- Hi, I'm trying to get reference to Jboss MBean server using the code snippe= t below. I'm invoking this in a JSP file which is present in a WAR file and= deployed in default profile of Jboss. = If i try with the below, = ..... = MBeanServer server =3D MBeanServerLocator.locateJBoss(); = ..... = I'm getting this error. = [java] java.lang.IllegalStateException: No 'jboss' MBeanServer found! = [java] at org.jboss.mx.util.MBeanServerLocator.locateJBoss(MBeanServerLocat= or.java:110) = [java] at org.apache.jsp.demo_jsp._jspService(demo_jsp.java:67) = [java] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70= ) = [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) = [java] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWra= pper.java:369) = [java] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.ja= va:322) = [java] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) = If i use the below: = ... = MBeanServer server =3D MBeanServerLocator.locate(); = ... = then getting this error. = [java] java.util.NoSuchElementException = [java] at java.util.AbstractList$Itr.next(AbstractList.java:350) = [java] at org.jboss.mx.util.MBeanServerLocator.locate(MBeanServerLocator.ja= va:67) = [java] at org.jboss.mx.util.MBeanServerLocator.locate(MBeanServerLocator.ja= va:80) = [java] at org.apache.jsp.demo1_jsp._jspService(demo1_jsp.java:67) = [java] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70= ) = [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) = [java] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWra= pper.java:369) = Also tried this option, but not able to get reference to the mbean server. = ....=C2=A0 = ArrayList serverList =3D MBeanServerFactory.findMBeanServer (null);=C2=A0 = log ("servers.size() =3D " + serverList.size());=C2=A0 = .....=C2=A0 = Output: = servers.size() =3D 0 = Can you please explain the reason for this error or what is the correct way= to obtain reference of Jboss mbean server in application code running on t= he same VM. Dropped the below JSP file in to jmx-console.war of jboss <%@page import=3D"javax.management.MBeanServer"%> <%@page import=3D"org.jboss.mx.util.MBeanServerLocator"%> <%@page import=3D"javax.management.MBeanServerFactory"%> <%@page import=3D"java.util.ArrayList"%> <% MBeanServer server1 =3D MBeanServerLocator.locate(); MBeanServer server2 =3D MBeanServerLocator.locateJBoss(); ArrayList ser =3D MBeanServerFactory.findMBeanServer(null); =C2=A0 %> Locate method=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : <%=3D= server1%>=C2=A0=C2=A0
Locate Jboss method=C2=A0=C2=A0=C2=A0 : <%=3Dserver2%>=C2=A0=C2=A0
findMBeanServer method : <%=3Dser%>=C2=A0=C2=A0
I'm able to see the below output: Locate method : org.jboss.mx.server.MBeanServerImpl(a)121dcac[ defaultDoma= in=3D'jboss' ] = Locate Jboss method : org.jboss.mx.server.MBeanServerImpl(a)121dcac[ defaul= tDomain=3D'jboss' ] = findMBeanServer method : [org.jboss.mx.server.MBeanServerImpl(a)121dcac[ de= faultDomain=3D'jboss' ], org.jboss.mx.server.MBeanServerImpl(a)dc5c8b[ defa= ultDomain=3D'null' ]] = However if i drop the same JSP in to my application WAR and access it. I'm = getting this exception as stated in my above post. I'm running out of clues. Any help will be highly appreciated. -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/749121#749121] Start a new discussion in Beginner's Corner at Community [https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co= ntainerType=3D14&container=3D2075] --===============1480906187127857155== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPGh0bWw+Cjxib2R5IGxpbms9IiMzNTU0OTEiIGFsaW5rPSIjNDI2MmExIiB2bGluaz0i IzM1NTQ5MSIgc3R5bGU9ImJhY2tncm91bmQ6ICNlMmUyZTI7IG1hcmdpbjogMDsgcGFkZGluZzog MjBweDsiPgoKPGRpdj4KCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIg Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkYWRh ZGE7IG1hcmdpbi1ib3R0b206IDMwcHg7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6 IDZweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQk8dGJvZHk+CgkJCTx0cj4KCgkJ CQk8dGQ+CgoJCQkJCTx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9ImJvcmRlcjogc29saWQgMnB4ICNjY2M7IGJh Y2tncm91bmQ6ICNkYWRhZGE7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6IDZweDsg LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQkJCQkJPHRib2R5PgoJCQkJCQkJPHRyPgoJ CQkJCQkJCTx0ZCBiZ2NvbG9yPSIjMDAwMDAwIiB2YWxpZ249Im1pZGRsZSIgaGVpZ2h0PSI1OHB4 IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6IDIwcHg7IC1t b3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAzcHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdo dDogM3B4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IC13ZWJraXQtYm9y ZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyI+CgkJCQkJCQkJCTxoMSBzdHlsZT0iY29sb3I6ICMz MzMzMzM7IGZvbnQ6IGJvbGQgMjJweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBtYXJn aW46IDA7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Ij4KCQkJCQkJCQkJPCEtLSBUbyBoYXZl IGEgaGVhZGVyIGltYWdlL2xvZ28gcmVwbGFjZSB0aGUgbmFtZSBiZWxvdyB3aXRoIHlvdXIgaW1n IHRhZyAtLT4KCQkJCQkJCQkJPCEtLSBFbWFpbCBjbGllbnRzIHdpbGwgcmVuZGVyIHRoZSBpbWFn ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyByZWFkIHNvIGFueSBpbWFnZSAtLT4KCQkJCQkJCQkJPCEt LSBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIG9uIGEgcHVibGljIHNlcnZlciwgc28gdGhhdCBhbGwg cmVjaXBpZW50cyBjYW4gbG9hZCB0aGUgaW1hZ2UuIC0tPgoJCQkJCQkJCQk8YSBocmVmPSJodHRw czovL2NvbW11bml0eS5qYm9zcy5vcmcvaW5kZXguanNwYSIgc3R5bGU9InRleHQtZGVjb3JhdGlv bjogbm9uZTsgY29sb3I6ICNFMUUxRTEiPkpCb3NzIENvbW11bml0eTwvYT48L2gxPgoJCQkJCQkJ CTwvdGQ+CgoJCQkJCQkJPC90cj4KCQkJCQkJCTx0cj4KCQkJCQkJCQk8dGQgYmdjb2xvcj0iI0ZG RkZGRiIgc3R5bGU9ImZvbnQ6IG5vcm1hbCAxMnB4IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGNvbG9yOiMzMzMzMzM7IHBhZGRpbmc6IDIwcHg7ICAtbW96LWJvcmRlci1yYWRpdXMtYm90 dG9tbGVmdDogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtp dC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20t bGVmdC1yYWRpdXM6IDVweDsiPjxoMyBzdHlsZT0ibWFyZ2luOiAxMHB4IDAgNXB4OyBmb250LXNp emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIEluZm8gb24gR2V0dGluZyByZWZl cmVuY2UgdG8gSkJvc3MgTUJlYW4gU2VydmVyCjwvaDM+CjxzcGFuIHN0eWxlPSJtYXJnaW4tYm90 dG9tOiAxMHB4OyI+CiAgICBjcmVhdGVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpi b3NzLm9yZy9wZW9wbGUvcmFnYXZlbmRyYW5fa2IiPlJhZ2F2IEJhc2thcmFuPC9hPiBpbiA8aT5C ZWdpbm5lcidzIENvcm5lcjwvaT4gLSA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5v cmcvbWVzc2FnZS83NDkxMjEjNzQ5MTIxIj5WaWV3IHRoZSBmdWxsIGRpc2N1c3Npb248L2E+Cjwv c3Bhbj4KPGhyIHN0eWxlPSJtYXJnaW46IDIwcHggMDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5k LWNvbG9yOiAjZGFkYWRhOyBoZWlnaHQ6IDFweDsiPgoKPGRpdiBjbGFzcz0iaml2ZS1yZW5kZXJl ZC1jb250ZW50Ij48cD5IaSwgSSdtIHRyeWluZyB0byBnZXQgcmVmZXJlbmNlIHRvIEpib3NzIE1C ZWFuIHNlcnZlciB1c2luZyB0aGUgY29kZSBzbmlwcGV0IGJlbG93LiBJJ20gaW52b2tpbmcgdGhp cyBpbiBhIEpTUCBmaWxlIHdoaWNoIGlzIHByZXNlbnQgaW4gYSBXQVIgZmlsZSBhbmQgZGVwbG95 ZWQgaW4gZGVmYXVsdCBwcm9maWxlIG9mIEpib3NzLiA8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6 IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cCBzdHlsZT0ibWlu LWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPklm IGkgdHJ5IHdpdGggdGhlIGJlbG93LCA8L3A+PHA+Li4uLi4gPC9wPjxwPk1CZWFuU2VydmVyIHNl cnZlciA9IE1CZWFuU2VydmVyTG9jYXRvci5sb2NhdGVKQm9zcygpOyA8L3A+PHA+Li4uLi4gPC9w PjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4m IzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6 IDBweDsiPiYjMTYwOzwvcD48cD5JJ20gZ2V0dGluZyB0aGlzIGVycm9yLiA8L3A+PHAgc3R5bGU9 Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48 cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMx NjA7PC9wPjxwPltqYXZhXSBqYXZhLmxhbmcuSWxsZWdhbFN0YXRlRXhjZXB0aW9uOiBObyAnamJv c3MnIE1CZWFuU2VydmVyIGZvdW5kISA8L3A+PHA+W2phdmFdIGF0IG9yZy5qYm9zcy5teC51dGls Lk1CZWFuU2VydmVyTG9jYXRvci5sb2NhdGVKQm9zcyhNQmVhblNlcnZlckxvY2F0b3IuamF2YTox MTApIDwvcD48cD5bamF2YV0gYXQgb3JnLmFwYWNoZS5qc3AuZGVtb19qc3AuX2pzcFNlcnZpY2Uo ZGVtb19qc3AuamF2YTo2NykgPC9wPjxwPltqYXZhXSBhdCBvcmcuYXBhY2hlLmphc3Blci5ydW50 aW1lLkh0dHBKc3BCYXNlLnNlcnZpY2UoSHR0cEpzcEJhc2UuamF2YTo3MCkgPC9wPjxwPltqYXZh XSBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5q YXZhOjcxNykgPC9wPjxwPltqYXZhXSBhdCBvcmcuYXBhY2hlLmphc3Blci5zZXJ2bGV0LkpzcFNl cnZsZXRXcmFwcGVyLnNlcnZpY2UoSnNwU2VydmxldFdyYXBwZXIuamF2YTozNjkpIDwvcD48cD5b amF2YV0gYXQgb3JnLmFwYWNoZS5qYXNwZXIuc2VydmxldC5Kc3BTZXJ2bGV0LnNlcnZpY2VKc3BG aWxlKEpzcFNlcnZsZXQuamF2YTozMjIpIDwvcD48cD5bamF2YV0gYXQgb3JnLmFwYWNoZS5qYXNw ZXIuc2VydmxldC5Kc3BTZXJ2bGV0LnNlcnZpY2UoSnNwU2VydmxldC5qYXZhOjI0OSkgPC9wPjxw IHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2 MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBw eDsiPiYjMTYwOzwvcD48cD5JZiBpIHVzZSB0aGUgYmVsb3c6IDwvcD48cD4uLi4gPC9wPjxwPk1C ZWFuU2VydmVyIHNlcnZlciA9IE1CZWFuU2VydmVyTG9jYXRvci5sb2NhdGUoKTsgPC9wPjxwPi4u LiA8L3A+PHA+JiMxNjA7IDwvcD48cD50aGVuIGdldHRpbmcgdGhpcyBlcnJvci4gPC9wPjxwIHN0 eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8 L3A+PHA+W2phdmFdIGphdmEudXRpbC5Ob1N1Y2hFbGVtZW50RXhjZXB0aW9uIDwvcD48cD5bamF2 YV0gYXQgamF2YS51dGlsLkFic3RyYWN0TGlzdCRJdHIubmV4dChBYnN0cmFjdExpc3QuamF2YToz NTApIDwvcD48cD5bamF2YV0gYXQgb3JnLmpib3NzLm14LnV0aWwuTUJlYW5TZXJ2ZXJMb2NhdG9y LmxvY2F0ZShNQmVhblNlcnZlckxvY2F0b3IuamF2YTo2NykgPC9wPjxwPltqYXZhXSBhdCBvcmcu amJvc3MubXgudXRpbC5NQmVhblNlcnZlckxvY2F0b3IubG9jYXRlKE1CZWFuU2VydmVyTG9jYXRv ci5qYXZhOjgwKSA8L3A+PHA+W2phdmFdIGF0IG9yZy5hcGFjaGUuanNwLmRlbW8xX2pzcC5fanNw U2VydmljZShkZW1vMV9qc3AuamF2YTo2NykgPC9wPjxwPltqYXZhXSBhdCBvcmcuYXBhY2hlLmph c3Blci5ydW50aW1lLkh0dHBKc3BCYXNlLnNlcnZpY2UoSHR0cEpzcEJhc2UuamF2YTo3MCkgPC9w PjxwPltqYXZhXSBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRw U2VydmxldC5qYXZhOjcxNykgPC9wPjxwPltqYXZhXSBhdCBvcmcuYXBhY2hlLmphc3Blci5zZXJ2 bGV0LkpzcFNlcnZsZXRXcmFwcGVyLnNlcnZpY2UoSnNwU2VydmxldFdyYXBwZXIuamF2YTozNjkp IDwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4 OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRk aW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+QWxzbyB0cmllZCB0aGlzIG9wdGlvbiwgYnV0IG5vdCBh YmxlIHRvIGdldCByZWZlcmVuY2UgdG8gdGhlIG1iZWFuIHNlcnZlci4gPC9wPjxwIHN0eWxlPSJt aW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+ IC4uLi4mIzE2MDsgPC9wPjxwPkFycmF5TGlzdCBzZXJ2ZXJMaXN0ID0gTUJlYW5TZXJ2ZXJGYWN0 b3J5LmZpbmRNQmVhblNlcnZlciAobnVsbCk7JiMxNjA7IDwvcD48cD5sb2cgKCJzZXJ2ZXJzLnNp emUoKSA9ICIgKyBzZXJ2ZXJMaXN0LnNpemUoKSk7JiMxNjA7IDwvcD48cD4uLi4uLiYjMTYwOyA8 L3A+PHA+JiMxNjA7IDwvcD48cD5PdXRwdXQ6IDwvcD48cD5zZXJ2ZXJzLnNpemUoKSA9IDAgPC9w PjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4m IzE2MDs8L3A+PHA+Q2FuIHlvdSBwbGVhc2UgZXhwbGFpbiB0aGUgcmVhc29uIGZvciB0aGlzIGVy cm9yIG9yIHdoYXQgaXMgdGhlIGNvcnJlY3Qgd2F5IHRvIG9idGFpbiByZWZlcmVuY2Ugb2YgSmJv c3MgbWJlYW4gc2VydmVyIGluIGFwcGxpY2F0aW9uIGNvZGUgcnVubmluZyBvbiB0aGUgc2FtZSBW TS48L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBw eDsiPiYjMTYwOzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFk ZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDog OHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+RHJvcHBlZCB0aGUgYmVsb3cgSlNQIGZp bGUgaW4gdG8gam14LWNvbnNvbGUud2FyIG9mIGpib3NzPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0 OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+ICZsdDslQHBh Z2UgaW1wb3J0PSJqYXZheC5tYW5hZ2VtZW50Lk1CZWFuU2VydmVyIiUmZ3Q7PC9wPjxwPiZsdDsl QHBhZ2UgaW1wb3J0PSJvcmcuamJvc3MubXgudXRpbC5NQmVhblNlcnZlckxvY2F0b3IiJSZndDs8 L3A+PHA+Jmx0OyVAcGFnZSBpbXBvcnQ9ImphdmF4Lm1hbmFnZW1lbnQuTUJlYW5TZXJ2ZXJGYWN0 b3J5IiUmZ3Q7PC9wPjxwPiZsdDslQHBhZ2UgaW1wb3J0PSJqYXZhLnV0aWwuQXJyYXlMaXN0IiUm Z3Q7PC9wPjxwPiZsdDtodG1sJmd0OzwvcD48cD4mbHQ7Ym9keSZndDs8L3A+PHA+Jmx0OyU8L3A+ PHA+TUJlYW5TZXJ2ZXIgc2VydmVyMSA9IE1CZWFuU2VydmVyTG9jYXRvci5sb2NhdGUoKTs8L3A+ PHA+TUJlYW5TZXJ2ZXIgc2VydmVyMiA9IE1CZWFuU2VydmVyTG9jYXRvci5sb2NhdGVKQm9zcygp OzwvcD48cD5BcnJheUxpc3Qgc2VyID0gTUJlYW5TZXJ2ZXJGYWN0b3J5LmZpbmRNQmVhblNlcnZl cihudWxsKTs8L3A+PHA+JiMxNjA7ICUmZ3Q7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7 IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+TG9jYXRlIG1ldGhvZCYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA6ICZs dDslPXNlcnZlcjElJmd0OyYjMTYwOyYjMTYwOyAmbHQ7L2JyJmd0OzwvcD48cD5Mb2NhdGUgSmJv c3MgbWV0aG9kJiMxNjA7JiMxNjA7JiMxNjA7IDogJmx0OyU9c2VydmVyMiUmZ3Q7JiMxNjA7JiMx NjA7ICZsdDsvYnImZ3Q7PC9wPjxwPmZpbmRNQmVhblNlcnZlciBtZXRob2QgOiAmbHQ7JT1zZXIl Jmd0OyYjMTYwOyYjMTYwOyAmbHQ7L2JyJmd0OzwvcD48cD4mIzE2MDsgPC9wPjxwPiZsdDsvYm9k eSZndDs8L3A+PHA+Jmx0Oy9odG1sJmd0OzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBo ZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0 OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+SSdtIGFibGUg dG8gc2VlIHRoZSBiZWxvdyBvdXRwdXQ6PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhl aWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+IExvY2F0ZSBtZXRob2QgOiBv cmcuamJvc3MubXguc2VydmVyLk1CZWFuU2VydmVySW1wbEAxMjFkY2FjWyBkZWZhdWx0RG9tYWlu PSdqYm9zcycgXSA8L3A+PHA+TG9jYXRlIEpib3NzIG1ldGhvZCA6IG9yZy5qYm9zcy5teC5zZXJ2 ZXIuTUJlYW5TZXJ2ZXJJbXBsQDEyMWRjYWNbIGRlZmF1bHREb21haW49J2pib3NzJyBdIDwvcD48 cD5maW5kTUJlYW5TZXJ2ZXIgbWV0aG9kIDogW29yZy5qYm9zcy5teC5zZXJ2ZXIuTUJlYW5TZXJ2 ZXJJbXBsQDEyMWRjYWNbIGRlZmF1bHREb21haW49J2pib3NzJyBdLCBvcmcuamJvc3MubXguc2Vy dmVyLk1CZWFuU2VydmVySW1wbEBkYzVjOGJbIGRlZmF1bHREb21haW49J251bGwnIF1dIDwvcD48 cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMx NjA7PC9wPjxwPkhvd2V2ZXIgaWYgaSBkcm9wIHRoZSBzYW1lIEpTUCBpbiB0byBteSBhcHBsaWNh dGlvbiBXQVIgYW5kIGFjY2VzcyBpdC4gSSdtIGdldHRpbmcgdGhpcyBleGNlcHRpb24gYXMgc3Rh dGVkIGluIG15IGFib3ZlIHBvc3QuPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdo dDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhw dDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5JJ20gcnVubmluZyBv dXQgb2YgY2x1ZXMuIEFueSBoZWxwIHdpbGwgYmUgaGlnaGx5IGFwcHJlY2lhdGVkLjwvcD48L2Rp dj4KCjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IHBhZGRpbmc6IDEwcHg7 IG1hcmdpbi10b3A6IDIwcHg7Ij4KICAgIDxwIHN0eWxlPSJtYXJnaW46IDA7Ij5SZXBseSB0byB0 aGlzIG1lc3NhZ2UgYnkgPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL21lc3Nh Z2UvNzQ5MTIxIzc0OTEyMSI+Z29pbmcgdG8gQ29tbXVuaXR5PC9hPjwvcD4KCTxwIHN0eWxlPSJt YXJnaW46IDA7Ij5TdGFydCBhIG5ldyBkaXNjdXNzaW9uIGluIEJlZ2lubmVyJ3MgQ29ybmVyIGF0 IDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpib3NzLm9yZy9jaG9vc2UtY29udGFpbmVyIWlu cHV0LmpzcGE/Y29udGVudFR5cGU9MSZjb250YWluZXJUeXBlPTE0JmNvbnRhaW5lcj0yMDc1Ij5D b21tdW5pdHk8L2E+PC9wPgo8L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Ry PgogICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgoK CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGJvZHk+ CiAgICA8L3RhYmxlPgoKPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4= --===============1480906187127857155==--