<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 27, 2015, at 2:14 AM, Rick Gigger via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I am trying to create an enum that will allow me to create literals that combine Int, Double and String types, as well as any Array of any combination of those, and any Dictionary mapping a String to any combination of those. And make it nestable.<div class=""><br class=""></div><div class="">First I have the enum itself, and then several examples. Everything complies cleanly except for dict4 and dict5.</div><div class=""><br class=""></div><div class="">Is type inference not expected to work for recursive enums? Or is this a bug in the compiler? If not is there any way to do this in pure swift that will compile?</div><div class=""><br class=""></div><div class="">I realize that it's sort of unswifty to have such unstructured, stringly typed data like this. But in a pinch sometimes it's useful.</div><div class=""><br class=""></div><div class="">Copy and paste this into a Playground to see the error message. (Contextual type 'protocol <>' cannot be used with array literal and Contextual type 'protocol <>' cannot be used with dictionary literal)</div></div></div></blockquote><div><br class=""></div><div>`Any` is a typealias for the `protocol<>` type, so the type checker's complaining that it's unable to find a suitable Array/DictionaryLiteralConvertible type. This is arguably a bug, since the type checker's supposed to fall back to Array/Dictionary as defaults in unconstrained cases like this, but I think it's helping you out here, since you really want to build your data structure out of RecursiveAny rather than unconstrained Any values. If you replace `Any` with `RecursiveAny` in your anyDict/anyArr payload types, it should work.</div><div><br class=""></div><div>-Joe</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color:rgb(187,44,162)" class="">enum</span><span style="" class=""> RecursiveAny: </span>StringLiteralConvertible<span style="" class="">, </span>ArrayLiteralConvertible<span style="" class="">, </span>IntegerLiteralConvertible<span style="" class="">, </span>BooleanLiteralConvertible<span style="" class="">, </span>FloatLiteralConvertible<span style="" class="">, </span>DictionaryLiteralConvertible<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">case</span> any(Any)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">indirect</span> <span style="color:rgb(187,44,162)" class="">case</span> anyDict([String:Any])</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">indirect</span> <span style="color:rgb(187,44,162)" class="">case</span> anyArr([Any])</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>// string literal convertible</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(stringLiteral value: <span style="color:rgb(112,61,170)" class="">String</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(extendedGraphemeClusterLiteral value: <span style="color:rgb(112,61,170)" class="">String</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(unicodeScalarLiteral value: <span style="color:rgb(112,61,170)" class="">String</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>// array literal convertible</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(arrayLiteral elements: <span style="color:rgb(112,61,170)" class="">Any</span>...) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">anyArr</span>(elements)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(dictionaryLiteral elements: (<span style="color:rgb(112,61,170)" class="">String</span>, <span style="color:rgb(112,61,170)" class="">Any</span>)...) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">var</span> dict = [<span style="color:rgb(112,61,170)" class="">String</span>:<span style="color:rgb(112,61,170)" class="">Any</span>]()</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">for</span> (key, value) <span style="color:rgb(187,44,162)" class="">in</span> elements {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> dict[key] = value</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">anyDict</span>(dict)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>// integer literal convertible</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(integerLiteral value: <span style="color:rgb(112,61,170)" class="">Int</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>// boolean literal convertible</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(booleanLiteral value: <span style="color:rgb(112,61,170)" class="">Bool</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>// float literal convertible</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">init</span>(floatLiteral value: <span style="color:rgb(112,61,170)" class="">Double</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(187,44,162)" class="">self</span> = .<span style="color:rgb(49,89,93)" class="">any</span>(value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> string: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = <span style="color:rgb(209,47,27)" class="">"asdf"</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(187,44,162)" class="">let</span><span style="" class=""> int: </span>RecursiveAny<span style="" class=""> = </span><span style="color:rgb(39,42,216)" class="">3</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(187,44,162)" class="">let</span><span style="" class=""> float: </span>RecursiveAny<span style="" class=""> = </span><span style="color:rgb(39,42,216)" class="">5.6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> array: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [<span style="color:rgb(209,47,27)" class="">"asdf"</span>, <span style="color:rgb(39,42,216)" class="">3</span>, <span style="color:rgb(39,42,216)" class="">5.6</span>]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(187,44,162)" class="">let</span><span style="" class=""> dict: </span>RecursiveAny<span style="" class=""> = [</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"float"<span style="" class="">: </span><span style="color:rgb(39,42,216)" class="">5.6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict2: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"array"<span style="" class="">: </span><span style="color:rgb(79,129,135)" class="">array</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict3: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"array"<span style="" class="">: </span><span style="color:rgb(79,129,135)" class="">dict</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict4: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"array"<span style="" class="">: [</span>"asdf"<span style="" class="">, </span><span style="color:rgb(39,42,216)" class="">3</span><span style="" class="">, </span><span style="color:rgb(39,42,216)" class="">5.6</span><span style="" class="">]</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict5: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"dict"</span>: [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> ]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict6: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"array"</span>: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span>.<span style="color:rgb(49,89,93)" class="">anyArr</span>([<span style="color:rgb(209,47,27)" class="">"asdf"</span>, <span style="color:rgb(39,42,216)" class="">3</span>, <span style="color:rgb(39,42,216)" class="">5.6</span>])</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(187,44,162)" class="">let</span> dict7: <span style="color:rgb(79,129,135)" class="">RecursiveAny</span> = [</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(209,47,27)" class="">"dict"</span><span style="" class="">: </span>RecursiveAny<span style="" class="">.</span><span style="color:rgb(49,89,93)" class="">anyDict</span><span style="" class="">([</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="" class=""> </span>"string"<span style="" class="">: </span>"asdf"<span style="" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"int"</span>: <span style="color:rgb(39,42,216)" class="">3</span>,</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(209,47,27)" class="">"float"</span>: <span style="color:rgb(39,42,216)" class="">5.6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> ])</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">]</div></div><div class=""><br class=""></div></div></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=RoDF4MveSEMYBIqIJA6ub1g8cOZ-2BVYvqV-2FqygPhjPn-2FVeEnb50WCPdImce43an-2FHjE8-2BYShX6bJnCiNfsOsndpMpbE8LevAldZiAFbGNDplFcmLUSpydwYrcyvGks2P0fyejdB2tUbE0Ut8t-2FqP-2FOcstehtAhe3FoNaYZo-2FKDt-2BciEXtMzAUNw1j2WTSX8ETyv-2FvRcMLevQNBc-2FdINz5nakegfNHobUvWr6-2BJfgp-2F0c-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;" class="">
_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-users<br class=""></div></blockquote></div><br class=""></body></html>