From do-not-reply at jboss.com Mon Mar 4 04:45:06 2013 Content-Type: multipart/mixed; boundary="===============5118640194020035245==" MIME-Version: 1.0 From: =?utf-8?q?Jozef_Chochol=C3=A1=C4=8Dek_=3Cdo-not-reply_at_jboss=2Ecom=3E?= To: jboss-user at lists.jboss.org Subject: [jboss-user] [jBPM] - Output mapping from Human Task does not work Date: Mon, 04 Mar 2013 04:45:05 -0500 Message-ID: <2-800540-3-5816-1362390291836.jivesbs.jivemailuser@https://community.jboss.org> --===============5118640194020035245== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Jozef Chochol=C3=A1=C4=8Dek [https://community.jboss.org/people/jchocholace= k] created the discussion "Output mapping from Human Task does not work" To view the discussion, visit: https://community.jboss.org/message/800540#8= 00540 -------------------------------------------------------------- Hello there, I have a problem with mapping the Human Task output to process variables. M= y code is inspired by the https://community.jboss.org/people/bpmn2user/blo= g/2011/09/21/jbpm5-web-example https://community.jboss.org/people/bpmn2user= /blog/2011/09/21/jbpm5-web-example blog post. I run it in Tomcat 6, using the Mina HT service. Here is my process definition: = =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _9_Co= ntentInput =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _9_m= gnlDataOutput =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mgnlData =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _9_ContentInput =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _9_mgnlDataOutput =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mgnlData =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pe= ter =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 ... =C2=A0 This is how I start the process: =C2=A0=C2=A0=C2=A0 public RunningProcess launch(Workflow workflow, Map parameters) throws WorkflowException { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Map processParams= =3D new HashMap(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 processParams.put(RunningProcess= .DATA, parameters); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 try { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // start= user transaction =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 UserTran= saction ut =3D (UserTransaction) new InitialContext().lookup("java:comp/Use= rTransaction"); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ut.begin= (); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // start= process =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ProcessI= nstance pi =3D this.ksession.startProcess(workflow.getId(), processParams); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this.kse= ssion.fireAllRules(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // commit =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ut.commi= t(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return n= ew ProcessImpl(pi); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } catch (Exception e) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 log.debu= g("Error starting workflow [" + workflow.getId() + "].", e); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 throw ne= w WorkflowException("Error starting workflow.", e); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0 } RunningProcess.DATA containg the "mgnlData" string, Workflow is my bean hol= ding the process definition data, RunningProcess / ProcessImpl are my wrapp= ers for the ProcessInstace. Then I call this method from: Map data =3D new HashMap(); data.put("string", "string value"); data.put("int", 42); process =3D manager.launch("test", data); And how I handle the Human Task: // prepare data Map data =3D new HashMap(); Map mgnlData =3D new HashMap(); mgnlData.put("int", 1111); mgnlData.put("string", "new value"); data.put(RunningProcess.DATA, mgnlData); // start user transaction UserTransaction ut =3D (UserTransaction) new InitialContext().lookup("java:= comp/UserTransaction"); ut.begin(); // start processing the task BlockingTaskOperationResponseHandler responseHandler =3D new BlockingTaskOp= erationResponseHandler(); this.taskClient.start(summary.getId(), user, responseHandler); responseHandler.waitTillDone(1000); // and complete the task responseHandler =3D new BlockingTaskOperationResponseHandler(); this.taskClient.complete(summary.getId(), user, map2contentData(data), resp= onseHandler); responseHandler.waitTillDone(2000); // commit transaction ut.commit(); The map2contentData method is based on the code from jBPM5 web example blog= post: =C2=A0=C2=A0=C2=A0 protected ContentData map2contentData(Map data) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ContentData contentData =3D null; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (data !=3D null) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ByteArra= yOutputStream bos =3D new ByteArrayOutputStream(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ObjectOu= tputStream out; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 try { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 out =3D new ObjectOutputStream(bos); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 out.writeObject(data); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 out.close(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 contentData =3D new ContentData(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 contentData.setContent(bos.toByteArray()); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 contentData.setAccessType(AccessType.Inline); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } catch = (IOException e) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 log.error("Problem saving output data.", e); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return contentData; =C2=A0=C2=A0=C2=A0 } But it results in the empty process variable in the end (console output): ENTRY SCRIPT: 425984 DATA: {int=3D42, string=3Dstring value} Human Task - Entry action ... Human Task - Exit action EXIT SCRIPT: 425984 Empty DATA I expect sort-of PEBKAC error, but I couldn't find what did I forget... -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/800540#800540] Start a new discussion in jBPM at Community [https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co= ntainerType=3D14&container=3D2034] --===============5118640194020035245== 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 emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIE91dHB1dCBtYXBwaW5nIGZyb20g SHVtYW4gVGFzayBkb2VzIG5vdCB3b3JrCjwvaDM+CjxzcGFuIHN0eWxlPSJtYXJnaW4tYm90dG9t OiAxMHB4OyI+CiAgICBjcmVhdGVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpib3Nz Lm9yZy9wZW9wbGUvamNob2Nob2xhY2VrIj5Kb3plZiBDaG9jaG9sw6HEjWVrPC9hPiBpbiA8aT5q QlBNPC9pPiAtIDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpib3NzLm9yZy9tZXNzYWdlLzgw MDU0MCM4MDA1NDAiPlZpZXcgdGhlIGZ1bGwgZGlzY3Vzc2lvbjwvYT4KPC9zcGFuPgo8aHIgc3R5 bGU9Im1hcmdpbjogMjBweCAwOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6ICNkYWRh ZGE7IGhlaWdodDogMXB4OyI+Cgo8ZGl2IGNsYXNzPSJqaXZlLXJlbmRlcmVkLWNvbnRlbnQiPjxw PkhlbGxvIHRoZXJlLDwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsg cGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPkkgaGF2ZSBhIHByb2JsZW0gd2l0aCBtYXBwaW5n IHRoZSBIdW1hbiBUYXNrIG91dHB1dCB0byBwcm9jZXNzIHZhcmlhYmxlcy4gTXkgY29kZSBpcyBp bnNwaXJlZCBieSB0aGUgPGEgY2xhc3M9ImppdmUtbGluay1ibG9nLXNtYWxsIiBocmVmPSJodHRw czovL2NvbW11bml0eS5qYm9zcy5vcmcvcGVvcGxlL2JwbW4ydXNlci9ibG9nLzIwMTEvMDkvMjEv amJwbTUtd2ViLWV4YW1wbGUiPmh0dHBzOi8vY29tbXVuaXR5Lmpib3NzLm9yZy9wZW9wbGUvYnBt bjJ1c2VyL2Jsb2cvMjAxMS8wOS8yMS9qYnBtNS13ZWItZXhhbXBsZTwvYT4gYmxvZyBwb3N0Ljwv cD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+ JiMxNjA7PC9wPjxwPkkgcnVuIGl0IGluIFRvbWNhdCA2LCB1c2luZyB0aGUgTWluYSBIVCBzZXJ2 aWNlLjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzog MHB4OyI+JiMxNjA7PC9wPjxwPkhlcmUgaXMgbXkgcHJvY2VzcyBkZWZpbml0aW9uOjwvcD48cHJl IGNsYXNzPSJqaXZlLXByZSI+PGNvZGUgY2xhc3M9ImppdmUtY29kZSBqaXZlLXhtbCI+PHNwYW4g Y2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oz94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG LTgiPyZndDs8L3NwYW4+IAo8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj48c3Bhbj4mbHQ7ZGVm aW5pdGlvbnMgaWQ9IkRlZmluaXRpb24iCiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyB0YXJnZXROYW1lc3BhY2U9 Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8v d3d3Lmpib3NzLm9yZy9kcm9vbHMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmpib3NzLm9y Zy9kcm9vbHM8L2E+PHNwYW4+IgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgdHlwZUxhbmd1YWdlPSI8L3NwYW4+ PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1zbWFsbCIgaHJlZj0iaHR0cDovL3d3dy5qYXZh LmNvbS9qYXZhVHlwZXMiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3 LmphdmEuY29tL2phdmFUeXBlczwvYT48c3Bhbj4iCiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBleHByZXNzaW9u TGFuZ3VhZ2U9Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVm PSJodHRwOi8vd3d3Lm12ZWwub3JnLzIuMCIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHA6Ly93d3cubXZlbC5vcmcvMi4wPC9hPjxzcGFuPiIKJiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IHhtbG5z PSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1zbWFsbCIgaHJlZj0iaHR0cDov L3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTCIgcmVsPSJub2ZvbGxvdyIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvTU9ERUw8 L2E+PHNwYW4+IgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgeG1sbnM6eHNpPSI8L3NwYW4+PGEgY2xhc3M9Impp dmUtbGluay1leHRlcm5hbC1zbWFsbCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT Y2hlbWEtaW5zdGFuY2UiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3 LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZTwvYT48c3Bhbj4iCiYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyB4c2k6c2NoZW1hTG9jYXRpb249Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFs LXNtYWxsIiBocmVmPSJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVM IiByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vbWcub3JnL3NwZWMv QlBNTi8yMDEwMDUyNC9NT0RFTDwvYT48c3Bhbj4gQlBNTjIwLnhzZCIKJiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 IHhtbG5zOmc9Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVm PSJodHRwOi8vd3d3Lmpib3NzLm9yZy9kcm9vbHMvZmxvdy9ncGQiIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vd3d3Lmpib3NzLm9yZy9kcm9vbHMvZmxvdy9ncGQ8L2E+PHNwYW4+IgomIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsgeG1sbnM6YnBtbmRpPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1z bWFsbCIgaHJlZj0iaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9ESSIgcmVs PSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4v MjAxMDA1MjQvREk8L2E+PHNwYW4+IgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgeG1sbnM6ZGM9Ijwvc3Bhbj48 YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vd3d3Lm9tZy5v cmcvc3BlYy9ERC8yMDEwMDUyNC9EQyIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDPC9hPjxzcGFuPiIKJiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7IHhtbG5zOmRpPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1zbWFs bCIgaHJlZj0iaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvREQvMjAxMDA1MjQvREkiIHJlbD0ibm9m b2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ERC8yMDEwMDUy NC9ESTwvYT48c3Bhbj4iCiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyB4bWxuczp0bnM9Ijwvc3Bhbj48YSBjbGFz cz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vd3d3Lmpib3NzLm9yZy9k cm9vbHMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmpib3NzLm9yZy9kcm9vbHM8L2E+PHNw YW4+IiZndDs8L3NwYW4+PC9zcGFuPgoKJiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWci PiZsdDtpdGVtRGVmaW5pdGlvbiBpZD0iX21nbmxEYXRhSXRlbSIgc3RydWN0dXJlUmVmPSJqYXZh LnV0aWwuTWFwIiAvJmd0Ozwvc3Bhbj4KCiYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFn Ij4mbHQ7aXRlbURlZmluaXRpb24gaWQ9Il85LW1nbmxEYXRhSXRlbSIgc3RydWN0dXJlUmVmPSJq YXZhLnV0aWwuTWFwIiAvJmd0Ozwvc3Bhbj4KCiYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwt dGFnIj4mbHQ7cHJvY2VzcyBwcm9jZXNzVHlwZT0iUHJpdmF0ZSIgaXNFeGVjdXRhYmxlPSJ0cnVl IiBpZD0iamNoLndvcmtmbG93LnRlc3QiIG5hbWU9IkZsb3cgVGVzdCIgdG5zOnBhY2thZ2VOYW1l PSJkZWZhdWx0UGFja2FnZSIgJmd0Ozwvc3Bhbj4KCiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBj bGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7ZXh0ZW5zaW9uRWxlbWVudHMmZ3Q7PC9zcGFuPgomIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O3Ruczpp bXBvcnQgbmFtZT0iamF2YS51dGlsLk1hcCIgLyZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYw OyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L2V4dGVuc2lvbkVsZW1lbnRzJmd0Ozwv c3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC1jb21tZW50Ij4m bHQ7IS0tIHByb2Nlc3MgdmFyaWFibGVzIC0tJmd0OwomIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4g Y2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O3Byb3BlcnR5IGlkPSJtZ25sRGF0YSIgaXRlbVN1Ympl Y3RSZWY9Il9tZ25sRGF0YUl0ZW0iLyZndDs8L3NwYW4+CgomIzE2MDsmIzE2MDsmIzE2MDsgJmx0 OyEtLSBub2RlcyAtLSZndDsKJiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXht bC10YWciPiZsdDtzdGFydEV2ZW50IGlkPSJfMSIgbmFtZT0iU3RhcnRQcm9jZXNzIiAvJmd0Ozwv c3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDtl bmRFdmVudCBpZD0iXzYiIG5hbWU9IkVuZCIgJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDt0 ZXJtaW5hdGVFdmVudERlZmluaXRpb24vJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7IDxz cGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvZW5kRXZlbnQmZ3Q7PC9zcGFuPgomIzE2MDsm IzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+PHNwYW4+Jmx0O3NjcmlwdFRh c2sgaWQ9Il83IiBuYW1lPSJFbnRyeSBTY3JpcHQiIHNjcmlwdEZvcm1hdD0iPC9zcGFuPjxhIGNs YXNzPSJqaXZlLWxpbmstZXh0ZXJuYWwtc21hbGwiIGhyZWY9Imh0dHA6Ly93d3cuamF2YS5jb20v amF2YSIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuamF2YS5jb20v amF2YTwvYT48c3Bhbj4iICZndDs8L3NwYW4+PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O3NjcmlwdCZndDs8L3NwYW4+ U3RyaW5nIHByb2Nlc3NJZCA9ICIiICsga2NvbnRleHQuZ2V0UHJvY2Vzc0luc3RhbmNlKCkuZ2V0 SWQoKTsKU3lzdGVtLm91dC5wcmludGxuKCJFTlRSWSBTQ1JJUFQ6ICIgKyBwcm9jZXNzSWQpOwpN YXAgZGF0YSA9IChNYXApIGtjb250ZXh0LmdldFZhcmlhYmxlKCJtZ25sRGF0YSIpOwppZiAoZGF0 YT09bnVsbCkgewomIzE2MDsgU3lzdGVtLm91dC5wcmludGxuKCJFbXB0eSBEQVRBIik7Cn0gZWxz ZSB7CiYjMTYwOyBTeXN0ZW0ub3V0LnByaW50bG4oIkRBVEE6ICIgKyBkYXRhLnRvU3RyaW5nKCkp Owp9CjxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvc2NyaXB0Jmd0Ozwvc3Bhbj4KJiMx NjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvc2NyaXB0VGFz ayZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFn Ij48c3Bhbj4mbHQ7c2NyaXB0VGFzayBpZD0iXzgiIG5hbWU9IkV4aXQgU2NyaXB0IiBzY3JpcHRG b3JtYXQ9Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJo dHRwOi8vd3d3LmphdmEuY29tL2phdmEiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vd3d3LmphdmEuY29tL2phdmE8L2E+PHNwYW4+IiAmZ3Q7PC9zcGFuPjwvc3Bhbj4KJiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZs dDtzY3JpcHQmZ3Q7PC9zcGFuPlN0cmluZyBwcm9jZXNzSWQgPSAiIiArIGtjb250ZXh0LmdldFBy b2Nlc3NJbnN0YW5jZSgpLmdldElkKCk7ClN5c3RlbS5vdXQucHJpbnRsbigiRVhJVCBTQ1JJUFQ6 ICIgKyBwcm9jZXNzSWQpOwpNYXAgZGF0YSA9IChNYXApIGtjb250ZXh0LmdldFZhcmlhYmxlKCJt Z25sRGF0YSIpOwppZiAoZGF0YT09bnVsbCkgewomIzE2MDsgU3lzdGVtLm91dC5wcmludGxuKCJF bXB0eSBEQVRBIik7Cn0gZWxzZSB7CiYjMTYwOyBTeXN0ZW0ub3V0LnByaW50bG4oIkRBVEE6ICIg KyBkYXRhLnRvU3RyaW5nKCkpOwp9CjxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvc2Ny aXB0Jmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10 YWciPiZsdDsvc2NyaXB0VGFzayZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBj bGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7dXNlclRhc2sgaWQ9Il85IiBuYW1lPSJVc2VyIFRhc2si ICZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0i aml2ZS14bWwtdGFnIj4mbHQ7ZXh0ZW5zaW9uRWxlbWVudHMmZ3Q7PC9zcGFuPgomIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRh ZyI+PHNwYW4+Jmx0O3RuczpvbkVudHJ5LXNjcmlwdCBzY3JpcHRGb3JtYXQ9Ijwvc3Bhbj48YSBj bGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vd3d3LmphdmEuY29t L2phdmEiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmphdmEuY29t L2phdmE8L2E+PHNwYW4+IiZndDs8L3NwYW4+PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRh ZyI+Jmx0O3NjcmlwdCZndDs8L3NwYW4+U3lzdGVtLm91dC5wcmludGxuKCJIdW1hbiBUYXNrIC0g RW50cnkgYWN0aW9uIik7PHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9zY3JpcHQmZ3Q7 PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4g Y2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy90bnM6b25FbnRyeS1zY3JpcHQmZ3Q7PC9zcGFuPgom IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9Impp dmUteG1sLXRhZyI+PHNwYW4+Jmx0O3RuczpvbkV4aXQtc2NyaXB0IHNjcmlwdEZvcm1hdD0iPC9z cGFuPjxhIGNsYXNzPSJqaXZlLWxpbmstZXh0ZXJuYWwtc21hbGwiIGhyZWY9Imh0dHA6Ly93d3cu amF2YS5jb20vamF2YSIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cu amF2YS5jb20vamF2YTwvYT48c3Bhbj4iJmd0Ozwvc3Bhbj48L3NwYW4+CiYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2 ZS14bWwtdGFnIj4mbHQ7c2NyaXB0Jmd0Ozwvc3Bhbj5TeXN0ZW0ub3V0LnByaW50bG4oIkh1bWFu IFRhc2sgLSBFeGl0IGFjdGlvbiIpOzxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvc2Ny aXB0Jmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvdG5zOm9uRXhpdC1zY3JpcHQmZ3Q7PC9z cGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1s LXRhZyI+Jmx0Oy9leHRlbnNpb25FbGVtZW50cyZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7aW9TcGVjaWZpY2F0 aW9uJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDtkYXRhSW5wdXQgaWQ9Il85X0NvbnRlbnRJ bnB1dCIgbmFtZT0iQ29udGVudCIgLyZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7ZGF0YU91 dHB1dCBpZD0iXzlfbWdubERhdGFPdXRwdXQiIG5hbWU9Im1nbmxEYXRhIiAvJmd0Ozwvc3Bhbj4K JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJq aXZlLXhtbC10YWciPiZsdDtpbnB1dFNldCZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwt dGFnIj4mbHQ7ZGF0YUlucHV0UmVmcyZndDs8L3NwYW4+XzlfQ29udGVudElucHV0PHNwYW4gY2xh c3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9kYXRhSW5wdXRSZWZzJmd0Ozwvc3Bhbj4KJiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10 YWciPiZsdDsvaW5wdXRTZXQmZ3Q7PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O291dHB1dFNldCZn dDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7ZGF0YU91dHB1dFJlZnMmZ3Q7 PC9zcGFuPl85X21nbmxEYXRhT3V0cHV0PHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9k YXRhT3V0cHV0UmVmcyZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L291dHB1dFNldCZndDs8 L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14 bWwtdGFnIj4mbHQ7L2lvU3BlY2lmaWNhdGlvbiZndDs8L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7ZGF0YUlucHV0QXNz b2NpYXRpb24mZ3Q7PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O3NvdXJjZVJlZiZndDs8L3NwYW4+ bWdubERhdGE8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L3NvdXJjZVJlZiZndDs8L3Nw YW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFz cz0iaml2ZS14bWwtdGFnIj4mbHQ7dGFyZ2V0UmVmJmd0Ozwvc3Bhbj5fOV9Db250ZW50SW5wdXQ8 c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L3RhcmdldFJlZiZndDs8L3NwYW4+CiYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7 L2RhdGFJbnB1dEFzc29jaWF0aW9uJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDtkYXRhT3V0cHV0QXNzb2NpYXRp b24mZ3Q7PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsg PHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0O3NvdXJjZVJlZiZndDs8L3NwYW4+XzlfbWdu bERhdGFPdXRwdXQ8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L3NvdXJjZVJlZiZndDs8 L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBj bGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7dGFyZ2V0UmVmJmd0Ozwvc3Bhbj5tZ25sRGF0YTxzcGFu IGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvdGFyZ2V0UmVmJmd0Ozwvc3Bhbj4KJiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDsvZGF0 YU91dHB1dEFzc29jaWF0aW9uJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7IDxzcGFuIGNsYXNzPSJqaXZlLXhtbC10YWciPiZsdDtwb3RlbnRpYWxPd25lciZndDs8L3Nw YW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFz cz0iaml2ZS14bWwtdGFnIj4mbHQ7cmVzb3VyY2VBc3NpZ25tZW50RXhwcmVzc2lvbiZndDs8L3Nw YW4+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7Zm9ybWFsRXhwcmVzc2lvbiZndDs8L3Nw YW4+cGV0ZXI8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7L2Zvcm1hbEV4cHJlc3Npb24m Z3Q7PC9zcGFuPgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPHNw YW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9yZXNvdXJjZUFzc2lnbm1lbnRFeHByZXNzaW9u Jmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxzcGFuIGNsYXNzPSJq aXZlLXhtbC10YWciPiZsdDsvcG90ZW50aWFsT3duZXImZ3Q7PC9zcGFuPgomIzE2MDsmIzE2MDsm IzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy91c2VyVGFzayZndDs8L3NwYW4+ CgomIzE2MDsmIzE2MDsmIzE2MDsgJmx0OyEtLSBjb25uZWN0aW9ucyAtLSZndDs8L3NwYW4+CiYj MTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7c2VxdWVuY2VG bG93IGlkPSJfOC1fNiIgc291cmNlUmVmPSJfOCIgdGFyZ2V0UmVmPSJfNiIgLyZndDs8L3NwYW4+ CiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7c2VxdWVu Y2VGbG93IGlkPSJfMS1fNyIgc291cmNlUmVmPSJfMSIgdGFyZ2V0UmVmPSJfNyIgLyZndDs8L3Nw YW4+CiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7c2Vx dWVuY2VGbG93IGlkPSJfOS1fOCIgc291cmNlUmVmPSJfOSIgdGFyZ2V0UmVmPSJfOCIgLyZndDs8 L3NwYW4+CiYjMTYwOyYjMTYwOyYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7 c2VxdWVuY2VGbG93IGlkPSJfNy1fOSIgc291cmNlUmVmPSJfNyIgdGFyZ2V0UmVmPSJfOSIgLyZn dDs8L3NwYW4+CgomIzE2MDsgPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9wcm9jZXNz Jmd0Ozwvc3Bhbj4KCiYjMTYwOyA8c3BhbiBjbGFzcz0iaml2ZS14bWwtdGFnIj4mbHQ7YnBtbmRp OkJQTU5EaWFncmFtJmd0Ozwvc3Bhbj4KJiMxNjA7JiMxNjA7JiMxNjA7IC4uLgomIzE2MDsgPHNw YW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9icG1uZGk6QlBNTkRpYWdyYW0mZ3Q7PC9zcGFu PgoKPHNwYW4gY2xhc3M9ImppdmUteG1sLXRhZyI+Jmx0Oy9kZWZpbml0aW9ucyZndDs8L3NwYW4+ CjwvY29kZT48L3ByZT48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFk ZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPlRoaXMgaXMgaG93IEkgc3RhcnQgdGhlIHByb2Nlc3M6 PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7 Ij4mIzE2MDs8L3A+PHByZSBjbGFzcz0iaml2ZS1wcmUiPjxjb2RlIGNsYXNzPSJqaXZlLWNvZGUg aml2ZS1qYXZhIj4mIzE2MDsmIzE2MDsmIzE2MDsgPGZvbnQgY29sb3I9Im5hdnkiPjxiPnB1Ymxp YzwvYj48L2ZvbnQ+IFJ1bm5pbmdQcm9jZXNzIGxhdW5jaChXb3JrZmxvdyB3b3JrZmxvdywgTWFw Jmx0O1N0cmluZywgT2JqZWN0Jmd0OyBwYXJhbWV0ZXJzKSA8Zm9udCBjb2xvcj0ibmF2eSI+PGI+ dGhyb3dzPC9iPjwvZm9udD4gV29ya2Zsb3dFeGNlcHRpb24gPGZvbnQgY29sb3I9Im5hdnkiPns8 L2ZvbnQ+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBNYXAmbHQ7 U3RyaW5nLE9iamVjdCZndDsgcHJvY2Vzc1BhcmFtcyA9IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5u ZXc8L2I+PC9mb250PiBIYXNoTWFwJmx0O1N0cmluZyxPYmplY3QmZ3Q7KCk7CiYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBwcm9jZXNzUGFyYW1zLnB1dChSdW5uaW5n UHJvY2Vzcy5EQVRBLCBwYXJhbWV0ZXJzKTsKJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj50cnk8L2I+PC9mb250PiA8Zm9udCBj b2xvcj0ibmF2eSI+ezwvZm9udD4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJkYXJrZ3JlZW4iPi8v IHN0YXJ0IHVzZXIgdHJhbnNhY3Rpb248L2ZvbnQ+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBVc2VyVHJhbnNhY3Rpb24g dXQgPSAoVXNlclRyYW5zYWN0aW9uKSA8Zm9udCBjb2xvcj0ibmF2eSI+PGI+bmV3PC9iPjwvZm9u dD4gSW5pdGlhbENvbnRleHQoKS5sb29rdXAoPGZvbnQgY29sb3I9InJlZCI+ImphdmE6Y29tcC9V c2VyVHJhbnNhY3Rpb24iPC9mb250Pik7CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyB1dC5iZWdpbigpOwomIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsg PGZvbnQgY29sb3I9ImRhcmtncmVlbiI+Ly8gc3RhcnQgcHJvY2VzczwvZm9udD4KJiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 IFByb2Nlc3NJbnN0YW5jZSBwaSA9IHRoaXMua3Nlc3Npb24uc3RhcnRQcm9jZXNzKHdvcmtmbG93 LmdldElkKCksIHByb2Nlc3NQYXJhbXMpOwomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgdGhpcy5rc2Vzc2lvbi5maXJlQWxs UnVsZXMoKTsKJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJkYXJrZ3JlZW4iPi8vIGNvbW1pdDwvZm9u dD4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7IHV0LmNvbW1pdCgpOwomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPGZvbnQgY29sb3I9Im5hdnkiPjxi PnJldHVybjwvYj48L2ZvbnQ+IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8L2I+PC9mb250PiBQ cm9jZXNzSW1wbChwaSk7CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyA8Zm9udCBjb2xvcj0ibmF2eSI+fTwvZm9udD4gPGZvbnQgY29sb3I9Im5hdnkiPjxiPmNhdGNo PC9iPjwvZm9udD4gKEV4Y2VwdGlvbiBlKSA8Zm9udCBjb2xvcj0ibmF2eSI+ezwvZm9udD4KJiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7IGxvZy5kZWJ1Zyg8Zm9udCBjb2xvcj0icmVkIj4iRXJyb3Igc3RhcnRpbmcgd29ya2Zs b3cgWyI8L2ZvbnQ+ICsgd29ya2Zsb3cuZ2V0SWQoKSArIDxmb250IGNvbG9yPSJyZWQiPiJdLiI8 L2ZvbnQ+LCBlKTsKJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj50aHJvdzwvYj48L2Zv bnQ+IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8L2I+PC9mb250PiBXb3JrZmxvd0V4Y2VwdGlv big8Zm9udCBjb2xvcj0icmVkIj4iRXJyb3Igc3RhcnRpbmcgd29ya2Zsb3cuIjwvZm9udD4sIGUp OwomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPGZvbnQgY29sb3I9 Im5hdnkiPn08L2ZvbnQ+CiYjMTYwOyYjMTYwOyYjMTYwOyA8Zm9udCBjb2xvcj0ibmF2eSI+fTwv Zm9udD4KPC9jb2RlPjwvcHJlPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0 OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAn YW5kYWxlIG1vbm8nLCB0aW1lczsiPlJ1bm5pbmdQcm9jZXNzLkRBVEE8L3NwYW4+IGNvbnRhaW5n IHRoZSAiPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnYW5kYWxlIG1vbm8nLCB0aW1lczsiPm1n bmxEYXRhPC9zcGFuPiIgc3RyaW5nLCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdhbmRhbGUg bW9ubycsIHRpbWVzOyI+V29ya2Zsb3c8L3NwYW4+IGlzIG15IGJlYW4gaG9sZGluZyB0aGUgcHJv Y2VzcyBkZWZpbml0aW9uIGRhdGEsIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ2FuZGFsZSBt b25vJywgdGltZXM7Ij5SdW5uaW5nUHJvY2Vzczwvc3Bhbj4gLyA8c3BhbiBzdHlsZT0iZm9udC1m YW1pbHk6ICdhbmRhbGUgbW9ubycsIHRpbWVzOyI+UHJvY2Vzc0ltcGw8L3NwYW4+IGFyZSBteSB3 cmFwcGVycyBmb3IgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ2FuZGFsZSBtb25vJywg dGltZXM7Ij5Qcm9jZXNzSW5zdGFjZTwvc3Bhbj4uIFRoZW4gSSBjYWxsIHRoaXMgbWV0aG9kIGZy b206PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAw cHg7Ij4mIzE2MDs8L3A+PHByZSBjbGFzcz0iaml2ZS1wcmUiPjxjb2RlIGNsYXNzPSJqaXZlLWNv ZGUgaml2ZS1qYXZhIj5NYXAmbHQ7U3RyaW5nLCBPYmplY3QmZ3Q7IGRhdGEgPSA8Zm9udCBjb2xv cj0ibmF2eSI+PGI+bmV3PC9iPjwvZm9udD4gSGFzaE1hcCZsdDtTdHJpbmcsIE9iamVjdCZndDso KTsKZGF0YS5wdXQoPGZvbnQgY29sb3I9InJlZCI+InN0cmluZyI8L2ZvbnQ+LCA8Zm9udCBjb2xv cj0icmVkIj4ic3RyaW5nIHZhbHVlIjwvZm9udD4pOwpkYXRhLnB1dCg8Zm9udCBjb2xvcj0icmVk Ij4iaW50IjwvZm9udD4sIDQyKTsKcHJvY2VzcyA9IG1hbmFnZXIubGF1bmNoKDxmb250IGNvbG9y PSJyZWQiPiJ0ZXN0IjwvZm9udD4sIGRhdGEpOwo8L2NvZGU+PC9wcmU+PHAgc3R5bGU9Im1pbi1o ZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5BbmQg aG93IEkgaGFuZGxlIHRoZSBIdW1hbiBUYXNrOjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0 OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVp Z2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHByZSBjbGFz cz0iaml2ZS1wcmUiPjxjb2RlIGNsYXNzPSJqaXZlLWNvZGUgaml2ZS1qYXZhIj48Zm9udCBjb2xv cj0iZGFya2dyZWVuIj4vLyBwcmVwYXJlIGRhdGE8L2ZvbnQ+Ck1hcCZsdDtTdHJpbmcsIE9iamVj dCZndDsgZGF0YSA9IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8L2I+PC9mb250PiBIYXNoTWFw Jmx0O1N0cmluZywgT2JqZWN0Jmd0OygpOwpNYXAmbHQ7U3RyaW5nLCBPYmplY3QmZ3Q7IG1nbmxE YXRhID0gPGZvbnQgY29sb3I9Im5hdnkiPjxiPm5ldzwvYj48L2ZvbnQ+IEhhc2hNYXAmbHQ7U3Ry aW5nLCBPYmplY3QmZ3Q7KCk7Cm1nbmxEYXRhLnB1dCg8Zm9udCBjb2xvcj0icmVkIj4iaW50Ijwv Zm9udD4sIDExMTEpOwptZ25sRGF0YS5wdXQoPGZvbnQgY29sb3I9InJlZCI+InN0cmluZyI8L2Zv bnQ+LCA8Zm9udCBjb2xvcj0icmVkIj4ibmV3IHZhbHVlIjwvZm9udD4pOwpkYXRhLnB1dChSdW5u aW5nUHJvY2Vzcy5EQVRBLCBtZ25sRGF0YSk7Cjxmb250IGNvbG9yPSJkYXJrZ3JlZW4iPi8vIHN0 YXJ0IHVzZXIgdHJhbnNhY3Rpb248L2ZvbnQ+ClVzZXJUcmFuc2FjdGlvbiB1dCA9IChVc2VyVHJh bnNhY3Rpb24pIDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8L2I+PC9mb250PiBJbml0aWFsQ29u dGV4dCgpLmxvb2t1cCg8Zm9udCBjb2xvcj0icmVkIj4iamF2YTpjb21wL1VzZXJUcmFuc2FjdGlv biI8L2ZvbnQ+KTsKdXQuYmVnaW4oKTsKPGZvbnQgY29sb3I9ImRhcmtncmVlbiI+Ly8gc3RhcnQg cHJvY2Vzc2luZyB0aGUgdGFzazwvZm9udD4KQmxvY2tpbmdUYXNrT3BlcmF0aW9uUmVzcG9uc2VI YW5kbGVyIHJlc3BvbnNlSGFuZGxlciA9IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8L2I+PC9m b250PiBCbG9ja2luZ1Rhc2tPcGVyYXRpb25SZXNwb25zZUhhbmRsZXIoKTsKdGhpcy50YXNrQ2xp ZW50LnN0YXJ0KHN1bW1hcnkuZ2V0SWQoKSwgdXNlciwgcmVzcG9uc2VIYW5kbGVyKTsKcmVzcG9u c2VIYW5kbGVyLndhaXRUaWxsRG9uZSgxMDAwKTsKPGZvbnQgY29sb3I9ImRhcmtncmVlbiI+Ly8g YW5kIGNvbXBsZXRlIHRoZSB0YXNrPC9mb250PgpyZXNwb25zZUhhbmRsZXIgPSA8Zm9udCBjb2xv cj0ibmF2eSI+PGI+bmV3PC9iPjwvZm9udD4gQmxvY2tpbmdUYXNrT3BlcmF0aW9uUmVzcG9uc2VI YW5kbGVyKCk7CnRoaXMudGFza0NsaWVudC5jb21wbGV0ZShzdW1tYXJ5LmdldElkKCksIHVzZXIs IG1hcDJjb250ZW50RGF0YShkYXRhKSwgcmVzcG9uc2VIYW5kbGVyKTsKcmVzcG9uc2VIYW5kbGVy LndhaXRUaWxsRG9uZSgyMDAwKTsKPGZvbnQgY29sb3I9ImRhcmtncmVlbiI+Ly8gY29tbWl0IHRy YW5zYWN0aW9uPC9mb250Pgp1dC5jb21taXQoKTsKPC9jb2RlPjwvcHJlPjxwIHN0eWxlPSJtaW4t aGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+VGhl IG1hcDJjb250ZW50RGF0YSBtZXRob2QgaXMgYmFzZWQgb24gdGhlIGNvZGUgZnJvbSBqQlBNNSB3 ZWIgZXhhbXBsZSBibG9nIHBvc3Q6PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdo dDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHByZSBjbGFzcz0iaml2ZS1wcmUiPjxj b2RlIGNsYXNzPSJqaXZlLWNvZGUgaml2ZS1qYXZhIj4mIzE2MDsmIzE2MDsmIzE2MDsgPGZvbnQg Y29sb3I9Im5hdnkiPjxiPnByb3RlY3RlZDwvYj48L2ZvbnQ+IENvbnRlbnREYXRhIG1hcDJjb250 ZW50RGF0YShNYXAgZGF0YSkgPGZvbnQgY29sb3I9Im5hdnkiPns8L2ZvbnQ+CiYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBDb250ZW50RGF0YSBjb250ZW50RGF0YSA9 IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5udWxsPC9iPjwvZm9udD47CiYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8Zm9udCBjb2xvcj0ibmF2eSI+PGI+aWY8L2I+PC9m b250PiAoZGF0YSAhPSA8Zm9udCBjb2xvcj0ibmF2eSI+PGI+bnVsbDwvYj48L2ZvbnQ+KSA8Zm9u dCBjb2xvcj0ibmF2eSI+ezwvZm9udD4KJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IEJ5dGVBcnJheU91dHB1dFN0cmVhbSBi b3MgPSA8Zm9udCBjb2xvcj0ibmF2eSI+PGI+bmV3PC9iPjwvZm9udD4gQnl0ZUFycmF5T3V0cHV0 U3RyZWFtKCk7CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyBPYmplY3RPdXRwdXRTdHJlYW0gb3V0OwomIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPGZv bnQgY29sb3I9Im5hdnkiPjxiPnRyeTwvYj48L2ZvbnQ+IDxmb250IGNvbG9yPSJuYXZ5Ij57PC9m b250PgomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgb3V0ID0gPGZvbnQgY29sb3I9 Im5hdnkiPjxiPm5ldzwvYj48L2ZvbnQ+IE9iamVjdE91dHB1dFN0cmVhbShib3MpOwomIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgb3V0LndyaXRlT2JqZWN0KGRhdGEpOwomIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgb3V0LmNsb3NlKCk7CiYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyBjb250ZW50RGF0YSA9IDxmb250IGNvbG9yPSJuYXZ5Ij48Yj5uZXc8 L2I+PC9mb250PiBDb250ZW50RGF0YSgpOwomIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsgY29udGVudERhdGEuc2V0Q29udGVudChib3MudG9CeXRlQXJyYXkoKSk7CiYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBjb250ZW50RGF0YS5zZXRBY2Nlc3NUeXBlKEFjY2Vzc1R5 cGUuSW5saW5lKTsKJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJuYXZ5Ij59PC9mb250PiA8Zm9udCBj b2xvcj0ibmF2eSI+PGI+Y2F0Y2g8L2I+PC9mb250PiAoSU9FeGNlcHRpb24gZSkgPGZvbnQgY29s b3I9Im5hdnkiPns8L2ZvbnQ+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBsb2cu ZXJyb3IoPGZvbnQgY29sb3I9InJlZCI+IlByb2JsZW0gc2F2aW5nIG91dHB1dCBkYXRhLiI8L2Zv bnQ+LCBlKTsKJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7IDxmb250IGNvbG9yPSJuYXZ5Ij59PC9mb250PgomIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgPGZvbnQgY29sb3I9Im5hdnkiPn08L2Zv bnQ+CiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyA8Zm9udCBjb2xv cj0ibmF2eSI+PGI+cmV0dXJuPC9iPjwvZm9udD4gY29udGVudERhdGE7CiYjMTYwOyYjMTYwOyYj MTYwOyA8Zm9udCBjb2xvcj0ibmF2eSI+fTwvZm9udD4KPC9jb2RlPjwvcHJlPjxwIHN0eWxlPSJt aW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+ QnV0IGl0IHJlc3VsdHMgaW4gdGhlIGVtcHR5IHByb2Nlc3MgdmFyaWFibGUgaW4gdGhlIGVuZCAo Y29uc29sZSBvdXRwdXQpOjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhw dDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwcmUgY2xhc3M9ImppdmUtcHJlIj48Y29kZSBj bGFzcz0iaml2ZS1jb2RlIj5FTlRSWSBTQ1JJUFQ6IDQyNTk4NApEQVRBOiB7aW50PTQyLCBzdHJp bmc9c3RyaW5nIHZhbHVlfQpIdW1hbiBUYXNrIC0gRW50cnkgYWN0aW9uCgouLi4KCkh1bWFuIFRh c2sgLSBFeGl0IGFjdGlvbgpFWElUIFNDUklQVDogNDI1OTg0CkVtcHR5IERBVEEKCjwvY29kZT48 L3ByZT48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4 OyI+JiMxNjA7PC9wPjxwPkkgZXhwZWN0IHNvcnQtb2YgUEVCS0FDIGVycm9yLCBidXQgSSBjb3Vs ZG4ndCBmaW5kIHdoYXQgZGlkIEkgZm9yZ2V0Li4uPC9wPjwvZGl2PgoKPGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgcGFkZGluZzogMTBweDsgbWFyZ2luLXRvcDogMjBweDsi PgogICAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPlJlcGx5IHRvIHRoaXMgbWVzc2FnZSBieSA8YSBo cmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2FnZS84MDA1NDAjODAwNTQwIj5n b2luZyB0byBDb21tdW5pdHk8L2E+PC9wPgoJPHAgc3R5bGU9Im1hcmdpbjogMDsiPlN0YXJ0IGEg bmV3IGRpc2N1c3Npb24gaW4gakJQTSBhdCA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9z cy5vcmcvY2hvb3NlLWNvbnRhaW5lciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFpbmVy VHlwZT0xNCZjb250YWluZXI9MjAzNCI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4KICAg ICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pgog ICAgICAgICAgICAgICAgPC90YWJsZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAg ICAgPC90cj4KICAgICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5Pgo8 L2h0bWw+ --===============5118640194020035245==-- From do-not-reply at jboss.com Mon Mar 4 04:58:07 2013 Content-Type: multipart/mixed; boundary="===============6318213142990791734==" MIME-Version: 1.0 From: Maciej Swiderski To: jboss-user at lists.jboss.org Subject: [jboss-user] [jBPM] - Re: Output mapping from Human Task does not work Date: Mon, 04 Mar 2013 04:58:07 -0500 Message-ID: <2-800540-3-5816-1362390291836-2-800548-3-65435-1362391076842.jivesbs.jivemailuser@https://community.jboss.org> In-Reply-To: 2-800540-3-5816-1362390291836.jivesbs.jivemailuser@https://community.jboss.org --===============6318213142990791734== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] crea= ted the discussion "Re: Output mapping from Human Task does not work" To view the discussion, visit: https://community.jboss.org/message/800548#8= 00548 -------------------------------------------------------------- I think the issue is with building ContentData from your output map, it sho= uld use ContentMarshallerHelper or even better to use completeWithResult me= thod of TaskClient HTH -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/800548#800548] Start a new discussion in jBPM at Community [https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co= ntainerType=3D14&container=3D2034] --===============6318213142990791734== 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 emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIFJlOiBPdXRwdXQgbWFwcGluZyBm cm9tIEh1bWFuIFRhc2sgZG9lcyBub3Qgd29yawo8L2gzPgo8c3BhbiBzdHlsZT0ibWFyZ2luLWJv dHRvbTogMTBweDsiPgogICAgY3JlYXRlZCBieSA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5q Ym9zcy5vcmcvcGVvcGxlL3N3aWRlcnNraS5tYWNpZWoiPk1hY2llaiBTd2lkZXJza2k8L2E+IGlu IDxpPmpCUE08L2k+IC0gPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL21lc3Nh Z2UvODAwNTQ4IzgwMDU0OCI+VmlldyB0aGUgZnVsbCBkaXNjdXNzaW9uPC9hPgo8L3NwYW4+Cjxo ciBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjog I2RhZGFkYTsgaGVpZ2h0OiAxcHg7Ij4KCjxkaXYgY2xhc3M9ImppdmUtcmVuZGVyZWQtY29udGVu dCI+PHA+SSB0aGluayB0aGUgaXNzdWUgaXMgd2l0aCBidWlsZGluZyBDb250ZW50RGF0YSBmcm9t IHlvdXIgb3V0cHV0IG1hcCwgaXQgc2hvdWxkIHVzZSBDb250ZW50TWFyc2hhbGxlckhlbHBlciBv ciBldmVuIGJldHRlciB0byB1c2UgY29tcGxldGVXaXRoUmVzdWx0IG1ldGhvZCBvZiBUYXNrQ2xp ZW50PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAw cHg7Ij4mIzE2MDs8L3A+PHA+SFRIPC9wPjwvZGl2PgoKPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogI2Y0ZjRmNDsgcGFkZGluZzogMTBweDsgbWFyZ2luLXRvcDogMjBweDsiPgogICAgPHAg c3R5bGU9Im1hcmdpbjogMDsiPlJlcGx5IHRvIHRoaXMgbWVzc2FnZSBieSA8YSBocmVmPSJodHRw czovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2FnZS84MDA1NDgjODAwNTQ4Ij5nb2luZyB0byBD b21tdW5pdHk8L2E+PC9wPgoJPHAgc3R5bGU9Im1hcmdpbjogMDsiPlN0YXJ0IGEgbmV3IGRpc2N1 c3Npb24gaW4gakJQTSBhdCA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvY2hv b3NlLWNvbnRhaW5lciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFpbmVyVHlwZT0xNCZj b250YWluZXI9MjAzNCI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4KICAgICAgICAgICAg ICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAg ICAgICAgPC90YWJsZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4K ICAgICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+ --===============6318213142990791734==-- From do-not-reply at jboss.com Mon Mar 4 05:07:20 2013 Content-Type: multipart/mixed; boundary="===============6837396783266979997==" MIME-Version: 1.0 From: =?utf-8?q?Jozef_Chochol=C3=A1=C4=8Dek_=3Cdo-not-reply_at_jboss=2Ecom=3E?= To: jboss-user at lists.jboss.org Subject: [jboss-user] [jBPM] - Re: Output mapping from Human Task does not work Date: Mon, 04 Mar 2013 05:07:20 -0500 Message-ID: <2-800540-3-5816-1362390291836-2-800550-3-5816-1362391630715.jivesbs.jivemailuser@https://community.jboss.org> In-Reply-To: 2-800540-3-5816-1362390291836-2-800548-3-65435-1362391076842.jivesbs.jivemailuser@https://community.jboss.org --===============6837396783266979997== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Jozef Chochol=C3=A1=C4=8Dek [https://community.jboss.org/people/jchocholace= k] created the discussion "Re: Output mapping from Human Task does not work" To view the discussion, visit: https://community.jboss.org/message/800550#8= 00550 -------------------------------------------------------------- Yep, taskClient.completeWithResults(summary.getId(), user, parameters, resp= onseHandler) works the expected way! This method seems to be new in 5.4 and should be documented (probably as th= e recommended way to pass the result). = Anyway, thanks a lot! -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/800550#800550] Start a new discussion in jBPM at Community [https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co= ntainerType=3D14&container=3D2034] --===============6837396783266979997== 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 emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIFJlOiBPdXRwdXQgbWFwcGluZyBm cm9tIEh1bWFuIFRhc2sgZG9lcyBub3Qgd29yawo8L2gzPgo8c3BhbiBzdHlsZT0ibWFyZ2luLWJv dHRvbTogMTBweDsiPgogICAgY3JlYXRlZCBieSA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5q Ym9zcy5vcmcvcGVvcGxlL2pjaG9jaG9sYWNlayI+Sm96ZWYgQ2hvY2hvbMOhxI1lazwvYT4gaW4g PGk+akJQTTwvaT4gLSA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2Fn ZS84MDA1NTAjODAwNTUwIj5WaWV3IHRoZSBmdWxsIGRpc2N1c3Npb248L2E+Cjwvc3Bhbj4KPGhy IHN0eWxlPSJtYXJnaW46IDIwcHggMDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAj ZGFkYWRhOyBoZWlnaHQ6IDFweDsiPgoKPGRpdiBjbGFzcz0iaml2ZS1yZW5kZXJlZC1jb250ZW50 Ij48cD5ZZXAsIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAzMjZjYzsiPnRhc2tDbGllbnQ8L3NwYW4+ LmNvbXBsZXRlV2l0aFJlc3VsdHMoc3VtbWFyeS5nZXRJZCgpLCB1c2VyLCBwYXJhbWV0ZXJzLCBy ZXNwb25zZUhhbmRsZXIpIHdvcmtzIHRoZSBleHBlY3RlZCB3YXkhPC9wPjxwIHN0eWxlPSJtaW4t aGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+VGhp cyBtZXRob2Qgc2VlbXMgdG8gYmUgbmV3IGluIDUuNCBhbmQgc2hvdWxkIGJlIGRvY3VtZW50ZWQg KHByb2JhYmx5IGFzIHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gcGFzcyB0aGUgcmVzdWx0KS4gPC9w PjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4m IzE2MDs8L3A+PHA+QW55d2F5LCB0aGFua3MgYSBsb3QhPC9wPjwvZGl2PgoKPGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgcGFkZGluZzogMTBweDsgbWFyZ2luLXRvcDogMjBw eDsiPgogICAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPlJlcGx5IHRvIHRoaXMgbWVzc2FnZSBieSA8 YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2FnZS84MDA1NTAjODAwNTUw Ij5nb2luZyB0byBDb21tdW5pdHk8L2E+PC9wPgoJPHAgc3R5bGU9Im1hcmdpbjogMDsiPlN0YXJ0 IGEgbmV3IGRpc2N1c3Npb24gaW4gakJQTSBhdCA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5q Ym9zcy5vcmcvY2hvb3NlLWNvbnRhaW5lciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFp bmVyVHlwZT0xNCZjb250YWluZXI9MjAzNCI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4K ICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5 PgogICAgICAgICAgICAgICAgPC90YWJsZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAg ICAgICAgPC90cj4KICAgICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5 Pgo8L2h0bWw+ --===============6837396783266979997==--