From do-not-reply at jboss.com Tue Aug 31 02:20:28 2010 Content-Type: multipart/mixed; boundary="===============2939695544556443452==" MIME-Version: 1.0 From: Pete Pron To: jboss-user at lists.jboss.org Subject: [jboss-user] [JBoss Tools] - cant get one-to-one reverse engineering to work for me Date: Tue, 31 Aug 2010 02:20:24 -0400 Message-ID: <1676576585.118211283235628901.JavaMail.jive@clearspace02.app.mwc.hst.phx2.redhat.com> --===============2939695544556443452== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Pete Pron [http://community.jboss.org/people/pete2k] created the discussion "cant get one-to-one reverse engineering to work for me" To view the discussion, visit: http://community.jboss.org/message/559680#55= 9680 -------------------------------------------------------------- Hi everyone, I'm using the Jboss hibernate tools to reverse engineer an existing databas= e and generating java + hbm. Currently I'm becoming desperate by trying to resolv an one-to-one mapping.= There is always a one-to-many & many-to-one generated and I don't know what to do. Its fine for me that the tools are trying to create a one-to-many (it could= be) but I'm searching for a way to define this relationship as one-to-one. First of all: Its an Oracle 10 Database and Hibernatetools Version: 3.3.0.v20100720-0040-= H162-M1 Detect one-to-one associations is turned on. Here is the relevant SQL: ---------------------------------------------------------------------------= -------------- CREATE TABLE EXT_ADDRESS ( =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ID NUMBER(22 , 0) NOT NULL, =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 ADDRESS_ID NUMBER(22 , 0) NOT NU= LL =C2=A0=C2=A0=C2=A0 ); CREATE TABLE ADDRESS ( =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ID NUMBER(22 , 0) NOT NULL, =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 ); ALTER TABLE EXT_ADDRESS ADD CONSTRAINT EXT_ADR_PK PRIMARY KEY (ID); ALTER TABLE ADDRESS ADD CONSTRAINT ADR_PK PRIMARY KEY (ID); ALTER TABLE EXT_ADDRESS ADD CONSTRAINT EXT_ADR_FK FOREIGN KEY (ADDRESS_ID) =C2=A0=C2=A0=C2=A0 REFERENCES ADDRESS (ID) =C2=A0=C2=A0=C2=A0 ON DELETE RESTRICT =C2=A0=C2=A0=C2=A0 ON UPDATE CASCADE; ---------------------------------------------------------------------------= -------------- Here what I already tried to do in my hibernate.reveng.xml: ---------------------------------------------------------------------------= -------------- =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 = ---------------------------------------------------------------------------= -------------- This doesn't work and there is always a Set of ExtAddress defined in Addres= s. The table definition and the foreign key should be correct. If i uncomment the many-to-one and set with exclude = true the set is removed. Any help is highly appreciated. Thanks Pete -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/559680#559680] Start a new discussion in JBoss Tools at Community [http://community.jboss.org/choose-container!input.jspa?contentType=3D1&con= tainerType=3D14&container=3D2128] --===============2939695544556443452== 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 Oi8vY29tbXVuaXR5Lmpib3NzLm9yZy9pbmRleC5qc3BhIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9u OiBub25lOyBjb2xvcjogI0UxRTFFMSI+SkJvc3MgQ29tbXVuaXR5PC9hPjwvaDE+CgkJCQkJCQkJ PC90ZD4KCgkJCQkJCQk8L3RyPgoJCQkJCQkJPHRyPgoJCQkJCQkJCTx0ZCBiZ2NvbG9yPSIjRkZG RkZGIiBzdHlsZT0iZm9udDogbm9ybWFsIDEycHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJp ZjsgY29sb3I6IzMzMzMzMzsgcGFkZGluZzogMjBweDsgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0 b21sZWZ0OiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0 LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1s ZWZ0LXJhZGl1czogNXB4OyI+PGgzIHN0eWxlPSJtYXJnaW46IDEwcHggMCA1cHg7IGZvbnQtc2l6 ZTogMTdweDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPgogICAgY2FudCBnZXQgb25lLXRvLW9uZSBy ZXZlcnNlIGVuZ2luZWVyaW5nIHRvIHdvcmsgZm9yIG1lCjwvaDM+CjxzcGFuIHN0eWxlPSJtYXJn aW4tYm90dG9tOiAxMHB4OyI+CiAgICBjcmVhdGVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9jb21tdW5p dHkuamJvc3Mub3JnL3Blb3BsZS9wZXRlMmsiPlBldGUgUHJvbjwvYT4gaW4gPGk+SkJvc3MgVG9v bHM8L2k+IC0gPGEgaHJlZj0iaHR0cDovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2FnZS81NTk2 ODAjNTU5NjgwIj5WaWV3IHRoZSBmdWxsIGRpc2N1c3Npb248L2E+Cjwvc3Bhbj4KPGhyIHN0eWxl PSJtYXJnaW46IDIwcHggMDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRh OyBoZWlnaHQ6IDFweDsiPgoKPGRpdiBjbGFzcz0iaml2ZS1yZW5kZXJlZC1jb250ZW50Ij48cD5I aSBldmVyeW9uZSw8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBh ZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5JJ20gdXNpbmcgdGhlIEpib3NzIGhpYmVybmF0ZSB0 b29scyB0byByZXZlcnNlIGVuZ2luZWVyIGFuIGV4aXN0aW5nIGRhdGFiYXNlIGFuZCBnZW5lcmF0 aW5nIGphdmEgKyBoYm0uPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0 OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+Q3VycmVudGx5IEknbSBiZWNvbWluZyBkZXNw ZXJhdGUgYnkgdHJ5aW5nIHRvIHJlc29sdiBhbiBvbmUtdG8tb25lIG1hcHBpbmcuIFRoZXJlIGlz IGFsd2F5cyBhIG9uZS10by1tYW55ICZhbXA7IG1hbnktdG8tb25lPC9wPjxwPmdlbmVyYXRlZCBh bmQgSSBkb24ndCBrbm93IHdoYXQgdG8gZG8uPC9wPjxwPkl0cyBmaW5lIGZvciBtZSB0aGF0IHRo ZSB0b29scyBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBhIG9uZS10by1tYW55IChpdCBjb3VsZCBiZSkg YnV0IEknbSBzZWFyY2hpbmcgZm9yIGEgd2F5IHRvIGRlZmluZSB0aGlzIHJlbGF0aW9uc2hpcCBh cyBvbmUtdG8tb25lLjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsg cGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdo dDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+Rmlyc3Qgb2YgYWxsOjwvcD48cCBz dHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7 PC9wPjxwPkl0cyBhbiBPcmFjbGUgMTAgRGF0YWJhc2UgYW5kIEhpYmVybmF0ZXRvb2xzIFZlcnNp b246IDMuMy4wLnYyMDEwMDcyMC0wMDQwLUgxNjItTTE8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6 IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5EZXRlY3Qgb25l LXRvLW9uZSBhc3NvY2lhdGlvbnMgaXMgdHVybmVkIG9uLjwvcD48cCBzdHlsZT0ibWluLWhlaWdo dDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJt aW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+ SGVyZSBpcyB0aGUgcmVsZXZhbnQgU1FMOjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBo ZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0 OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+Q1JFQVRFIFRBQkxFIEVYVF9BRERSRVNTICg8 L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsi PiYjMTYwOzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsg SUQgTlVNQkVSKDIyICwgMCkgTk9UIE5VTEwsPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7 IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IC4uLjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDog OHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4t aGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDttYW55IGF0dHJpYnV0 ZXMmZ3Q7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5n OiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7IC4uPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRk aW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7IEFERFJFU1NfSUQgTlVNQkVSKDIyICwgMCkgTk9UIE5VTEw8L3A+PHAgc3R5bGU9 Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48 cD4mIzE2MDsmIzE2MDsmIzE2MDsgKTs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVp Z2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDog OHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4t aGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+Q1JF QVRFIFRBQkxFIEFERFJFU1MgKDwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6 IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyBJRCBOVU1CRVIoMjIgLCAwKSBOT1QgTlVMTCw8L3A+PHAgc3R5 bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwv cD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgLi4uPC9wPjxw IHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2 MDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDtt YW55IGF0dHJpYnV0ZXMmZ3Q7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDog OHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7ICk7PC9w PjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4m IzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6 IDBweDsiPiYjMTYwOzwvcD48cD5BTFRFUiBUQUJMRSBFWFRfQUREUkVTUyBBREQgQ09OU1RSQUlO VCBFWFRfQURSX1BLIFBSSU1BUlkgS0VZIChJRCk7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4 cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+QUxURVIgVEFCTEUg QUREUkVTUyBBREQgQ09OU1RSQUlOVCBBRFJfUEsgUFJJTUFSWSBLRVkgKElEKTs8L3A+PHAgc3R5 bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwv cD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+ JiMxNjA7PC9wPjxwPkFMVEVSIFRBQkxFIEVYVF9BRERSRVNTIEFERCBDT05TVFJBSU5UIEVYVF9B RFJfRksgRk9SRUlHTiBLRVkgKEFERFJFU1NfSUQpPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4 cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7 JiMxNjA7IFJFRkVSRU5DRVMgQUREUkVTUyAoSUQpPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4 cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMxNjA7 JiMxNjA7IE9OIERFTEVURSBSRVNUUklDVDwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBo ZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYw OyBPTiBVUERBVEUgQ0FTQ0FERTs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0 OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0 OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDog OHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsg aGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5IZXJlIHdoYXQgSSBhbHJl YWR5IHRyaWVkIHRvIGRvIGluIG15IGhpYmVybmF0ZS5yZXZlbmcueG1sOjwvcD48cCBzdHlsZT0i bWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxw Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0 OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+JiMxNjA7JiMx NjA7JiMxNjA7ICZsdDt0YWJsZSBuYW1lPSJFWFRfQUREUkVTUyIgJmd0OzwvcD48cD4mIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2NvbHVtbiBuYW1lPSJJRCIg dHlwZT0ibG9uZyImZ3Q7Jmx0Oy9jb2x1bW4mZ3Q7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4 cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1o ZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD4mIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2ZvcmVpZ24ta2V5IGNv bnN0cmFpbnQtbmFtZT0iRVhUX0FEUl9GSyImZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7IS0tICZs dDttYW55LXRvLW9uZSBleGNsdWRlPSJ0cnVlIi8mZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAm bHQ7c2V0IGV4Y2x1ZGU9InRydWUiIC8mZ3Q7IC0tJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsg Jmx0O29uZS10by1vbmUgZXhjbHVkZT0iZmFsc2UiLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 ICZsdDtpbnZlcnNlLW9uZS10by1vbmUgZXhjbHVkZT0iZmFsc2UiLyZndDs8L3A+PHA+JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDsvZm9yZWlnbi1rZXkmZ3Q7 PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7L3RhYmxlJmd0OyYjMTYwOyYjMTYwOyYjMTYw OyA8L3A+PHA+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L3A+PHAgc3R5bGU9Im1p bi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cCBz dHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7 PC9wPjxwPlRoaXMgZG9lc24ndCB3b3JrIGFuZCB0aGVyZSBpcyBhbHdheXMgYSBTZXQgb2YgRXh0 QWRkcmVzcyBkZWZpbmVkIGluIEFkZHJlc3MuIFRoZSB0YWJsZSBkZWZpbml0aW9uIGFuZCB0aGUg Zm9yZWlnbjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGlu ZzogMHB4OyI+JiMxNjA7PC9wPjxwPmtleSBzaG91bGQgYmUgY29ycmVjdC4gSWYgaSB1bmNvbW1l bnQgdGhlIG1hbnktdG8tb25lIGFuZCBzZXQgd2l0aCBleGNsdWRlIHRydWUgdGhlIHNldCBpcyBy ZW1vdmVkLjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGlu ZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0 OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+QW55IGhlbHAgaXMgaGlnaGx5IGFwcHJlY2lh dGVkLiBUaGFua3M8L3A+PHA+UGV0ZTwvcD48L2Rpdj4KCjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6ICNmNGY0ZjQ7IHBhZGRpbmc6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7Ij4KICAgIDxw IHN0eWxlPSJtYXJnaW46IDA7Ij5SZXBseSB0byB0aGlzIG1lc3NhZ2UgYnkgPGEgaHJlZj0iaHR0 cDovL2NvbW11bml0eS5qYm9zcy5vcmcvbWVzc2FnZS81NTk2ODAjNTU5NjgwIj5nb2luZyB0byBD b21tdW5pdHk8L2E+PC9wPgoJPHAgc3R5bGU9Im1hcmdpbjogMDsiPlN0YXJ0IGEgbmV3IGRpc2N1 c3Npb24gaW4gSkJvc3MgVG9vbHMgYXQgPGEgaHJlZj0iaHR0cDovL2NvbW11bml0eS5qYm9zcy5v cmcvY2hvb3NlLWNvbnRhaW5lciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFpbmVyVHlw ZT0xNCZjb250YWluZXI9MjEyOCI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4KICAgICAg ICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAg ICAgICAgICAgICAgPC90YWJsZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAg PC90cj4KICAgICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5Pgo8L2h0 bWw+ --===============2939695544556443452==--