<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>117794</bug_id>
          
          <creation_ts>2013-06-19 06:14:35 -0700</creation_ts>
          <short_desc>[EFL][WK2] Implement unit test callback: onWordGuesses</short_desc>
          <delta_ts>2013-06-24 02:38:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>117828</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Krzysztof Wolanski">k.wolanski</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>g.czajkowski</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>901763</commentid>
    <comment_count>0</comment_count>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-19 06:14:35 -0700</bug_when>
    <thetext>It is finally possible to implement missing unit tests as WebKit2-EFL
has delivered sub menu (r150254).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901765</commentid>
    <comment_count>1</comment_count>
      <attachid>204997</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-19 06:16:39 -0700</bug_when>
    <thetext>Created attachment 204997
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902037</commentid>
    <comment_count>2</comment_count>
      <attachid>204997</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-20 00:17:03 -0700</bug_when>
    <thetext>Comment on attachment 204997
proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=204997&amp;action=review

Added some comments before review.

&gt; Source/WebKit2/ChangeLog:9
&gt; +        It is finally possible to implement missing unit tests as WebKit2-EFL
&gt; +        has delivered sub menu (r150254).

nit: suggestions do not need sub menu, they appear in the primary context menu.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:188
&gt; +        char* suggestion = (char*)malloc(strlen(clientSuggestionsForWord[i]) + 1);
&gt; +        strcpy(suggestion, clientSuggestionsForWord[i]);

At first sight, it looks wired that we are using C here. But WebKit2-EFL calls free() for them as this part of API.

Anyway I&apos;d duplicate it using:
char* suggestion = strdup(clientSuggestionsForWord[i]);

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:289
&gt; +static Eina_Bool checkClientSuggestionsForWord(Ewk_View_Smart_Data*, Evas_Coord, Evas_Coord, Ewk_Context_Menu* contextMenuItems)

Ewk_Context_Menu* contextMenuItems ? 
You&apos;ve probably thought of contextMenu.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:291
&gt; +    const Eina_List* list = ewk_context_menu_items_get(contextMenuItems);

nit: list -&gt; contextMenuItems

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:293
&gt; +    int numberOfSuggestions = WTF_ARRAY_LENGTH(clientSuggestionsForWord);

int -&gt; unsigned or size_t

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:629
&gt; +    wasContextMenuShown = false;

That it&apos;s confusing. We shouldn&apos;t assume that the callback (that overwrite this value) will be called asynchronously. I&apos;d move it somewhere around resetCallbacksExecutionStats().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902053</commentid>
    <comment_count>3</comment_count>
      <attachid>205063</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-20 02:19:37 -0700</bug_when>
    <thetext>Created attachment 205063
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902058</commentid>
    <comment_count>4</comment_count>
      <attachid>205063</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-20 03:05:31 -0700</bug_when>
    <thetext>Comment on attachment 205063
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205063&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:185
&gt; +    unsigned numberOfSuggestions = WTF_ARRAY_LENGTH(clientSuggestionsForWord);

I would prefer to use size_t rather than unsigned (http://en.cppreference.com/w/cpp/language/sizeof).

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:186
&gt; +    for (unsigned i = 0; i &lt; numberOfSuggestions; ++i) {

ditto

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:187
&gt; +        char* suggestion = strdup(clientSuggestionsForWord[i]);

You don&apos;t really need to strdup with the current API but I would fix the API first (see below). Then strdup() will be needed but I would remove this temporary variable.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:192
&gt;      return suggestionsForWord;

According to the doc:
 * @return a list of dynamically allocated strings (as char*) and caller is responsible for destroying them.

The doc is not clear if we need to free the list or not but it does say we need to free the items. Currently, you free neither.
BTW, I think the API should be fixed so that the caller does not need to free the strings. This is very inconvenient in a callback to return strings and later free them.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:290
&gt; +    const Eina_List* contextMenuItems = ewk_context_menu_items_get(contextMenu);

Would be nice to add a check to make sure contextMenuItems and clientSuggestionsForWord are the same size.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:292
&gt; +    unsigned numberOfSuggestions = WTF_ARRAY_LENGTH(clientSuggestionsForWord);

size_t

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:293
&gt; +    for (unsigned i = 0; i &lt; numberOfSuggestions; ++i) {

ditto

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:294
&gt; +        Ewk_Context_Menu_Item* item = static_cast&lt;Ewk_Context_Menu_Item*&gt;(eina_list_nth(contextMenuItems, i));

I think eina_list_nth may iterate through the list to find the nth item, in which case we would be better off using EINA_LIST_FOREACH() + i counter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902077</commentid>
    <comment_count>5</comment_count>
      <attachid>205063</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-20 03:44:04 -0700</bug_when>
    <thetext>Comment on attachment 205063
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205063&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:290
&gt;&gt; +    const Eina_List* contextMenuItems = ewk_context_menu_items_get(contextMenu);
&gt; 
&gt; Would be nice to add a check to make sure contextMenuItems and clientSuggestionsForWord are the same size.

contextMunuItems contains all items, not only suggestions. Suggestions are on the top. Would you like to check how many items are to *Ignore Spelling* item (*Ignore Spelling* is first item after suggestions)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902079</commentid>
    <comment_count>6</comment_count>
      <attachid>205063</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-20 03:53:00 -0700</bug_when>
    <thetext>Comment on attachment 205063
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205063&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:294
&gt;&gt; +        Ewk_Context_Menu_Item* item = static_cast&lt;Ewk_Context_Menu_Item*&gt;(eina_list_nth(contextMenuItems, i));
&gt; 
&gt; I think eina_list_nth may iterate through the list to find the nth item, in which case we would be better off using EINA_LIST_FOREACH() + i counter.

I don&apos;t want to iterate whole list, only the suggestions on the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902080</commentid>
    <comment_count>7</comment_count>
      <attachid>205063</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-20 03:56:29 -0700</bug_when>
    <thetext>Comment on attachment 205063
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205063&amp;action=review

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:290
&gt;&gt;&gt; +    const Eina_List* contextMenuItems = ewk_context_menu_items_get(contextMenu);
&gt;&gt; 
&gt;&gt; Would be nice to add a check to make sure contextMenuItems and clientSuggestionsForWord are the same size.
&gt; 
&gt; contextMunuItems contains all items, not only suggestions. Suggestions are on the top. Would you like to check how many items are to *Ignore Spelling* item (*Ignore Spelling* is first item after suggestions)?

Ok, then an assertion that WTF_ARRAY_LENGTH(clientSuggestionsForWord) &lt;= eina_list_count(contextMenuItem) ? just to make sure we abort before the loop in this error case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902081</commentid>
    <comment_count>8</comment_count>
      <attachid>205063</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-20 03:57:57 -0700</bug_when>
    <thetext>Comment on attachment 205063
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205063&amp;action=review

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:294
&gt;&gt;&gt; +        Ewk_Context_Menu_Item* item = static_cast&lt;Ewk_Context_Menu_Item*&gt;(eina_list_nth(contextMenuItems, i));
&gt;&gt; 
&gt;&gt; I think eina_list_nth may iterate through the list to find the nth item, in which case we would be better off using EINA_LIST_FOREACH() + i counter.
&gt; 
&gt; I don&apos;t want to iterate whole list, only the suggestions on the top.

Ok, it wasn&apos;t clear to me. Maybe a comment would help understand what you are actually testing then :) apparently, it is not self-explanatory :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902092</commentid>
    <comment_count>9</comment_count>
      <attachid>205073</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-20 04:56:15 -0700</bug_when>
    <thetext>Created attachment 205073
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902093</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-20 05:02:46 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=205073) [details]
&gt; apply suggestions

Let&apos;s fix the API first. Please file a bug and mark it as a dependency as discussed with grzegorz on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902112</commentid>
    <comment_count>11</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-20 06:12:12 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Created an attachment (id=205073) [details] [details]
&gt; &gt; apply suggestions
&gt; 
&gt; Let&apos;s fix the API first. Please file a bug and mark it as a dependency as discussed with grzegorz on IRC.

Added: https://bugs.webkit.org/show_bug.cgi?id=117828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902150</commentid>
    <comment_count>12</comment_count>
      <attachid>205073</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-20 07:34:31 -0700</bug_when>
    <thetext>Comment on attachment 205073
apply suggestions

LGTM, r=me but please let grzegorz have one last look before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902450</commentid>
    <comment_count>13</comment_count>
      <attachid>205073</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-20 23:39:10 -0700</bug_when>
    <thetext>Comment on attachment 205073
apply suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=205073&amp;action=review

The code itself looks fine. Added one nit regarding to the EFL&apos;s spellchecking.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:629
&gt;      ewk_text_checker_word_guesses_get_cb_set(onWordGuesses);

Setting this callback affects other text checker tests that will be launched after this one. Could you invalidate it by setting 0 at the end of the test? You&apos;ve already done it in onSettingChange test. Would be nice to add an additional line then, to point clearing part of the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902882</commentid>
    <comment_count>14</comment_count>
      <attachid>205278</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-06-24 01:41:44 -0700</bug_when>
    <thetext>Created attachment 205278
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902883</commentid>
    <comment_count>15</comment_count>
      <attachid>205278</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-24 02:02:18 -0700</bug_when>
    <thetext>Comment on attachment 205278
apply suggestions

Thanks for the changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902891</commentid>
    <comment_count>16</comment_count>
      <attachid>205278</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-24 02:38:36 -0700</bug_when>
    <thetext>Comment on attachment 205278
apply suggestions

Clearing flags on attachment: 205278

Committed r151904: &lt;http://trac.webkit.org/changeset/151904&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902892</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-24 02:38:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204997</attachid>
            <date>2013-06-19 06:16:39 -0700</date>
            <delta_ts>2013-06-20 02:19:37 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>unit_test_onWordGuesses.patch</filename>
            <type>text/plain</type>
            <size>4426</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjllZWQ1Li43YTllOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIg
QEAKIDIwMTMtMDYtMTkgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CiAKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrOiBv
bldvcmRHdWVzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3Nzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSXQgaXMgZmluYWxseSBwb3NzaWJsZSB0byBpbXBsZW1lbnQgbWlzc2luZyB1bml0IHRl
c3RzIGFzIFdlYktpdDItRUZMCisgICAgICAgIGhhcyBkZWxpdmVyZWQgc3ViIG1lbnUgKHIxNTAy
NTQpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRf
Y2hlY2tlci5jcHA6CisgICAgICAgIChvbldvcmRHdWVzc2VzKToKKyAgICAgICAgQWRkIGNsaWVu
dCBzdWdnZXN0aW9ucyBmb3IgdGhlIHdvcmQuCisKKyAgICAgICAgKGNoZWNrQ2xpZW50U3VnZ2Vz
dGlvbnNGb3JXb3JkKToKKyAgICAgICAgVmVyaWZ5IHRoZSBzdWdnZXN0aW9ucyB0aGF0IHdlcmUg
Z2l2ZW4gYnkgdGhlIGNsaWVudC4KKworMjAxMy0wNi0xOSAgS3J6eXN6dG9mIFdvbGFuc2tpICA8
ay53b2xhbnNraUBzYW1zdW5nLmNvbT4KKwogICAgICAgICBbRUZMXVtXSzJdIEltcGxlbWVudCB1
bml0IHRlc3QgY2FsbGJhY2s6IG9uU2V0dGluZ0NoYW5nZS4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzcyOAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0
X2NoZWNrZXIuY3BwCmluZGV4IDZiNDMxZmQuLmVlMWFkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90
ZXh0X2NoZWNrZXIuY3BwCkBAIC01MCw2ICs1MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIG5vR3Vl
c3Nlc1N0cmluZ1tdID0gIk5vIEd1ZXNzZXMgRm91bmQiOwogc3RhdGljIGNvbnN0IGNoYXIgaWdu
b3JlU3BlbGxpbmdTdHJpbmdbXSA9ICJJZ25vcmUgU3BlbGxpbmciOwogc3RhdGljIGNvbnN0IGNo
YXIgbGVhcm5TcGVsbGluZ1N0cmluZ1tdID0gIkxlYXJuIFNwZWxsaW5nIjsKIAorc3RhdGljIGNv
bnN0IGNoYXIqIGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZFtdID0geyAiY2xpZW50U3VnZ2VzdGlv
bjEiLCAiY2xpZW50U3VnZ2VzdGlvbjIiLCAiY2xpZW50U3VnZ2VzdGlvbjMiIH07CisKIC8qKgog
ICogU3RydWN0dXJlIGtlZXBzIGluZm9ybWF0aW9uIHdoaWNoIGNhbGxiYWNrcyB3ZXJlIGNhbGxl
ZC4KICAqIEl0cyB2YWx1ZXMgYXJlIHJlc2V0IGJlZm9yZSBlYWNoIHRlc3QuCkBAIC0xODAsOSAr
MTgyLDE0IEBAIHN0YXRpYyBFaW5hX0xpc3QqIG9uV29yZEd1ZXNzZXModWludDY0X3QgdGFnLCBj
b25zdCBjaGFyKiB3b3JkKQogICAgIEVYUEVDVF9TVFJFUShleHBlY3RlZE1pc3NwZWxsZWRXb3Jk
LCB3b3JkKTsKIAogICAgIEVpbmFfTGlzdCogc3VnZ2VzdGlvbnNGb3JXb3JkID0gMDsKLSAgICAv
LyBGSVhNRTogRmlsbCB0aGUgRWluYV9MaXN0IHdpdGggc3VnZ2VzdGlvbnMgZm9yIHRoZSBtaXNz
cGVsbGVkIHdvcmQuCi0gICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZEd1ZXNzZXMgPSB0
cnVlOworICAgIHVuc2lnbmVkIG51bWJlck9mU3VnZ2VzdGlvbnMgPSBXVEZfQVJSQVlfTEVOR1RI
KGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG51bWJlck9mU3VnZ2VzdGlvbnM7ICsraSkgeworICAgICAgICBjaGFyKiBzdWdnZXN0aW9uID0g
KGNoYXIqKW1hbGxvYyhzdHJsZW4oY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW2ldKSArIDEpOwor
ICAgICAgICBzdHJjcHkoc3VnZ2VzdGlvbiwgY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW2ldKTsK
KyAgICAgICAgc3VnZ2VzdGlvbnNGb3JXb3JkID0gZWluYV9saXN0X2FwcGVuZChzdWdnZXN0aW9u
c0ZvcldvcmQsIHN1Z2dlc3Rpb24pOworICAgIH0KIAorICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0
YXRzLndvcmRHdWVzc2VzID0gdHJ1ZTsKICAgICByZXR1cm4gc3VnZ2VzdGlvbnNGb3JXb3JkOwog
fQogCkBAIC0yNzksNiArMjg2LDIwIEBAIHN0YXRpYyBFaW5hX0Jvb2wgdG9vZ2xlQ2hlY2tTcGVs
bGluZ1doaWxlVHlwaW5nKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkCiAgICAgcmV0
dXJuIGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3Qoc3BlbGxpbmdBbmRHcmFtbWFyU3VibWVu
dSwgY2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nSXRlbSk7CiB9CiAKK3N0YXRpYyBFaW5hX0Jvb2wg
Y2hlY2tDbGllbnRTdWdnZXN0aW9uc0ZvcldvcmQoRXdrX1ZpZXdfU21hcnRfRGF0YSosIEV2YXNf
Q29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250ZXh0X01lbnUqIGNvbnRleHRNZW51SXRlbXMpCit7
CisgICAgY29uc3QgRWluYV9MaXN0KiBsaXN0ID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQo
Y29udGV4dE1lbnVJdGVtcyk7CisKKyAgICBpbnQgbnVtYmVyT2ZTdWdnZXN0aW9ucyA9IFdURl9B
UlJBWV9MRU5HVEgoY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkKTsKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IG51bWJlck9mU3VnZ2VzdGlvbnM7ICsraSkgeworICAgICAgICBFd2tfQ29udGV4dF9N
ZW51X0l0ZW0qIGl0ZW0gPSBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW0qPihlaW5h
X2xpc3RfbnRoKGxpc3QsIGkpKTsKKyAgICAgICAgRVhQRUNUX1NUUkVRKGNsaWVudFN1Z2dlc3Rp
b25zRm9yV29yZFtpXSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dldChpdGVtKSk7Cisg
ICAgfQorCisgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IHRydWU7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBkZWZhdWx0IGxhbmd1YWdlIGlzIGxvYWRl
ZCBpbmRlcGVuZGVudGx5IG9mCiAgKiBjb250aW51b3VzIHNwZWxsIGNoZWNraW5nIHNldHRpbmcu
CkBAIC01OTksMTggKzYyMCwxNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRf
Y2hlY2tlcl93b3JkX2d1ZXNzZXNfZ2V0X2NiX3NldCkKIHsKICAgICByZXNldENhbGxiYWNrc0V4
ZWN1dGlvblN0YXRzKCk7CiAgICAgZGVmYXVsdFZpZXcgPSB3ZWJWaWV3KCk7Ci0gICAgZXdrX3Rl
eHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJsZWRfc2V0KHRydWUpOwot
CisgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0gY2hlY2tDbGllbnRTdWdn
ZXN0aW9uc0ZvcldvcmQ7CiAgICAgZXdrX3RleHRfY2hlY2tlcl93b3JkX2d1ZXNzZXNfZ2V0X2Ni
X3NldChvbldvcmRHdWVzc2VzKTsKIAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmly
b25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CiAK
LSAgICAvKiBGSVhNRToKLSAgICAgICAgMSkgSW52b2tlIHRoZSBjb250ZXh0IG1lbnUgb24gdGhl
IG1pc3NwZWxsZWQgd29yZCAobm90IGltcGxlbWVudGVkIGZvciBXSzIpLAotICAgICAgICAgICB0
aGUgd29yZCBoYXMgdG8gYmUgc2VsZWN0ZWQgZmlyc3QuCi0gICAgICAgIDIpIEZpbGwgdGhlIHN1
Z2dlc3Rpb24gbGlzdCBpbiB0aGUgb25Xb3JkR3Vlc3NlcyBjYWxsYmFjay4KLSAgICAgICAgMykg
Q29tcGFyZSBjb250ZXh0IG1lbnUgc3VnZ2VzdGlvbnMgdG8gdGhlIHN1Z2dlc3Rpb24gbGlzdC4K
LSAgICAgICAgNCkgQ2hlY2sgd2hldGhlciB0aGUgY2FsbGJhY2sgd2FzIGNhbGxlZC4gKi8gICAg
CisgICAgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VDbGljaygxMCwgMjAsIC8qUmlnaHQgYnV0dG9u
Ki8gMyk7CisgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOworICAgIEFTU0VSVF9UUlVF
KHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOworCisgICAgLy8gQ2hlY2sgd2hl
dGhlciB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLgorICAgIEFTU0VSVF9UUlVFKGNhbGxiYWNrc0V4
ZWN1dGlvblN0YXRzLndvcmRHdWVzc2VzKTsKIH0KIAogLyoqCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205063</attachid>
            <date>2013-06-20 02:19:37 -0700</date>
            <delta_ts>2013-06-20 04:56:15 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordGuesses.patch</filename>
            <type>text/plain</type>
            <size>4264</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjllZWQ1Li45NTlhMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDYtMjAgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrOiBv
bldvcmRHdWVzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3Nzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNw
cDoKKyAgICAgICAgKG9uV29yZEd1ZXNzZXMpOgorICAgICAgICBBZGQgY2xpZW50IHN1Z2dlc3Rp
b25zIGZvciB0aGUgd29yZC4KKworICAgICAgICAoY2hlY2tDbGllbnRTdWdnZXN0aW9uc0Zvcldv
cmQpOgorICAgICAgICBWZXJpZnkgdGhlIHN1Z2dlc3Rpb25zIHRoYXQgd2VyZSBnaXZlbiBieSB0
aGUgY2xpZW50LgorCiAyMDEzLTA2LTE5ICBLcnp5c3p0b2YgV29sYW5za2kgIDxrLndvbGFuc2tp
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gSW1wbGVtZW50IHVuaXQgdGVzdCBj
YWxsYmFjazogb25TZXR0aW5nQ2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNw
cAppbmRleCA2YjQzMWZkLi5mNmJhMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2Vy
LmNwcApAQCAtNTAsNiArNTAsOCBAQCBzdGF0aWMgY29uc3QgY2hhciBub0d1ZXNzZXNTdHJpbmdb
XSA9ICJObyBHdWVzc2VzIEZvdW5kIjsKIHN0YXRpYyBjb25zdCBjaGFyIGlnbm9yZVNwZWxsaW5n
U3RyaW5nW10gPSAiSWdub3JlIFNwZWxsaW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIGxlYXJuU3Bl
bGxpbmdTdHJpbmdbXSA9ICJMZWFybiBTcGVsbGluZyI7CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBj
bGllbnRTdWdnZXN0aW9uc0ZvcldvcmRbXSA9IHsgImNsaWVudFN1Z2dlc3Rpb24xIiwgImNsaWVu
dFN1Z2dlc3Rpb24yIiwgImNsaWVudFN1Z2dlc3Rpb24zIiB9OworCiAvKioKICAqIFN0cnVjdHVy
ZSBrZWVwcyBpbmZvcm1hdGlvbiB3aGljaCBjYWxsYmFja3Mgd2VyZSBjYWxsZWQuCiAgKiBJdHMg
dmFsdWVzIGFyZSByZXNldCBiZWZvcmUgZWFjaCB0ZXN0LgpAQCAtMTgwLDkgKzE4MiwxMyBAQCBz
dGF0aWMgRWluYV9MaXN0KiBvbldvcmRHdWVzc2VzKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciog
d29yZCkKICAgICBFWFBFQ1RfU1RSRVEoZXhwZWN0ZWRNaXNzcGVsbGVkV29yZCwgd29yZCk7CiAK
ICAgICBFaW5hX0xpc3QqIHN1Z2dlc3Rpb25zRm9yV29yZCA9IDA7Ci0gICAgLy8gRklYTUU6IEZp
bGwgdGhlIEVpbmFfTGlzdCB3aXRoIHN1Z2dlc3Rpb25zIGZvciB0aGUgbWlzc3BlbGxlZCB3b3Jk
LgotICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRHdWVzc2VzID0gdHJ1ZTsKKyAgICB1
bnNpZ25lZCBudW1iZXJPZlN1Z2dlc3Rpb25zID0gV1RGX0FSUkFZX0xFTkdUSChjbGllbnRTdWdn
ZXN0aW9uc0ZvcldvcmQpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1iZXJPZlN1
Z2dlc3Rpb25zOyArK2kpIHsKKyAgICAgICAgY2hhciogc3VnZ2VzdGlvbiA9IHN0cmR1cChjbGll
bnRTdWdnZXN0aW9uc0ZvcldvcmRbaV0pOworICAgICAgICBzdWdnZXN0aW9uc0ZvcldvcmQgPSBl
aW5hX2xpc3RfYXBwZW5kKHN1Z2dlc3Rpb25zRm9yV29yZCwgc3VnZ2VzdGlvbik7CisgICAgfQog
CisgICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZEd1ZXNzZXMgPSB0cnVlOwogICAgIHJl
dHVybiBzdWdnZXN0aW9uc0ZvcldvcmQ7CiB9CiAKQEAgLTI3OSw2ICsyODUsMjAgQEAgc3RhdGlj
IEVpbmFfQm9vbCB0b29nbGVDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmcoRXdrX1ZpZXdfU21hcnRf
RGF0YSosIEV2YXNfQ29vcmQKICAgICByZXR1cm4gZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVj
dChzcGVsbGluZ0FuZEdyYW1tYXJTdWJtZW51LCBjaGVja1NwZWxsaW5nV2hpbGVUeXBpbmdJdGVt
KTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBjaGVja0NsaWVudFN1Z2dlc3Rpb25zRm9yV29yZChF
d2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRf
TWVudSogY29udGV4dE1lbnUpCit7CisgICAgY29uc3QgRWluYV9MaXN0KiBjb250ZXh0TWVudUl0
ZW1zID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOworCisgICAgdW5z
aWduZWQgbnVtYmVyT2ZTdWdnZXN0aW9ucyA9IFdURl9BUlJBWV9MRU5HVEgoY2xpZW50U3VnZ2Vz
dGlvbnNGb3JXb3JkKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZTdWdn
ZXN0aW9uczsgKytpKSB7CisgICAgICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSA9IHN0
YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgoY29udGV4dE1l
bnVJdGVtcywgaSkpOworICAgICAgICBFWFBFQ1RfU1RSRVEoY2xpZW50U3VnZ2VzdGlvbnNGb3JX
b3JkW2ldLCBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfZ2V0KGl0ZW0pKTsKKyAgICB9CisK
KyAgICB3YXNDb250ZXh0TWVudVNob3duID0gdHJ1ZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
LyoqCiAgKiBUZXN0IHdoZXRoZXIgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgaXMgbG9hZGVkIGluZGVw
ZW5kZW50bHkgb2YKICAqIGNvbnRpbnVvdXMgc3BlbGwgY2hlY2tpbmcgc2V0dGluZy4KQEAgLTU5
OCwxOSArNjE4LDE4IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2Vy
X3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQpCiBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwg
ZXdrX3RleHRfY2hlY2tlcl93b3JkX2d1ZXNzZXNfZ2V0X2NiX3NldCkKIHsKICAgICByZXNldENh
bGxiYWNrc0V4ZWN1dGlvblN0YXRzKCk7CisgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNl
OwogICAgIGRlZmF1bHRWaWV3ID0gd2ViVmlldygpOwotICAgIGV3a190ZXh0X2NoZWNrZXJfY29u
dGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldCh0cnVlKTsKLQorICAgIGV3a1ZpZXdD
bGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IGNoZWNrQ2xpZW50U3VnZ2VzdGlvbnNGb3JXb3Jk
OwogICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9ndWVzc2VzX2dldF9jYl9zZXQob25Xb3JkR3Vl
c3Nlcyk7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9y
UmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOwogCi0gICAgLyogRklYTUU6
Ci0gICAgICAgIDEpIEludm9rZSB0aGUgY29udGV4dCBtZW51IG9uIHRoZSBtaXNzcGVsbGVkIHdv
cmQgKG5vdCBpbXBsZW1lbnRlZCBmb3IgV0syKSwKLSAgICAgICAgICAgdGhlIHdvcmQgaGFzIHRv
IGJlIHNlbGVjdGVkIGZpcnN0LgotICAgICAgICAyKSBGaWxsIHRoZSBzdWdnZXN0aW9uIGxpc3Qg
aW4gdGhlIG9uV29yZEd1ZXNzZXMgY2FsbGJhY2suCi0gICAgICAgIDMpIENvbXBhcmUgY29udGV4
dCBtZW51IHN1Z2dlc3Rpb25zIHRvIHRoZSBzdWdnZXN0aW9uIGxpc3QuCi0gICAgICAgIDQpIENo
ZWNrIHdoZXRoZXIgdGhlIGNhbGxiYWNrIHdhcyBjYWxsZWQuICovICAgIAorICAgIEVXSzJVbml0
VGVzdEJhc2U6Om1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0IGJ1dHRvbiovIDMpOworICAgIEFT
U0VSVF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOworCisgICAgLy8g
Q2hlY2sgd2hldGhlciB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLgorICAgIEFTU0VSVF9UUlVFKGNh
bGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRHdWVzc2VzKTsKIH0KIAogLyoqCg==
</data>
<flag name="review"
          id="226512"
          type_id="1"
          status="-"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205073</attachid>
            <date>2013-06-20 04:56:15 -0700</date>
            <delta_ts>2013-06-24 01:41:44 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordGuesses.patch</filename>
            <type>text/plain</type>
            <size>4527</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjllZWQ1Li45NTlhMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDYtMjAgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrOiBv
bldvcmRHdWVzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3Nzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNw
cDoKKyAgICAgICAgKG9uV29yZEd1ZXNzZXMpOgorICAgICAgICBBZGQgY2xpZW50IHN1Z2dlc3Rp
b25zIGZvciB0aGUgd29yZC4KKworICAgICAgICAoY2hlY2tDbGllbnRTdWdnZXN0aW9uc0Zvcldv
cmQpOgorICAgICAgICBWZXJpZnkgdGhlIHN1Z2dlc3Rpb25zIHRoYXQgd2VyZSBnaXZlbiBieSB0
aGUgY2xpZW50LgorCiAyMDEzLTA2LTE5ICBLcnp5c3p0b2YgV29sYW5za2kgIDxrLndvbGFuc2tp
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gSW1wbGVtZW50IHVuaXQgdGVzdCBj
YWxsYmFjazogb25TZXR0aW5nQ2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNw
cAppbmRleCA2YjQzMWZkLi41MmYyYmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2Vy
LmNwcApAQCAtNTAsNiArNTAsOCBAQCBzdGF0aWMgY29uc3QgY2hhciBub0d1ZXNzZXNTdHJpbmdb
XSA9ICJObyBHdWVzc2VzIEZvdW5kIjsKIHN0YXRpYyBjb25zdCBjaGFyIGlnbm9yZVNwZWxsaW5n
U3RyaW5nW10gPSAiSWdub3JlIFNwZWxsaW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIGxlYXJuU3Bl
bGxpbmdTdHJpbmdbXSA9ICJMZWFybiBTcGVsbGluZyI7CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBj
bGllbnRTdWdnZXN0aW9uc0ZvcldvcmRbXSA9IHsgImNsaWVudFN1Z2dlc3Rpb24xIiwgImNsaWVu
dFN1Z2dlc3Rpb24yIiwgImNsaWVudFN1Z2dlc3Rpb24zIiB9OworCiAvKioKICAqIFN0cnVjdHVy
ZSBrZWVwcyBpbmZvcm1hdGlvbiB3aGljaCBjYWxsYmFja3Mgd2VyZSBjYWxsZWQuCiAgKiBJdHMg
dmFsdWVzIGFyZSByZXNldCBiZWZvcmUgZWFjaCB0ZXN0LgpAQCAtMTgwLDkgKzE4MiwxMSBAQCBz
dGF0aWMgRWluYV9MaXN0KiBvbldvcmRHdWVzc2VzKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciog
d29yZCkKICAgICBFWFBFQ1RfU1RSRVEoZXhwZWN0ZWRNaXNzcGVsbGVkV29yZCwgd29yZCk7CiAK
ICAgICBFaW5hX0xpc3QqIHN1Z2dlc3Rpb25zRm9yV29yZCA9IDA7Ci0gICAgLy8gRklYTUU6IEZp
bGwgdGhlIEVpbmFfTGlzdCB3aXRoIHN1Z2dlc3Rpb25zIGZvciB0aGUgbWlzc3BlbGxlZCB3b3Jk
LgotICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRHdWVzc2VzID0gdHJ1ZTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZTdWdnZXN0aW9ucyA9IFdURl9BUlJBWV9MRU5HVEgoY2xpZW50U3VnZ2Vz
dGlvbnNGb3JXb3JkKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mU3VnZ2Vz
dGlvbnM7ICsraSkKKyAgICAgICAgc3VnZ2VzdGlvbnNGb3JXb3JkID0gZWluYV9saXN0X2FwcGVu
ZChzdWdnZXN0aW9uc0ZvcldvcmQsIHN0cmR1cChjbGllbnRTdWdnZXN0aW9uc0ZvcldvcmRbaV0p
KTsKIAorICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRHdWVzc2VzID0gdHJ1ZTsKICAg
ICByZXR1cm4gc3VnZ2VzdGlvbnNGb3JXb3JkOwogfQogCkBAIC0yNzksNiArMjgzLDI3IEBAIHN0
YXRpYyBFaW5hX0Jvb2wgdG9vZ2xlQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKEV3a19WaWV3X1Nt
YXJ0X0RhdGEqLCBFdmFzX0Nvb3JkCiAgICAgcmV0dXJuIGV3a19jb250ZXh0X21lbnVfaXRlbV9z
ZWxlY3Qoc3BlbGxpbmdBbmRHcmFtbWFyU3VibWVudSwgY2hlY2tTcGVsbGluZ1doaWxlVHlwaW5n
SXRlbSk7CiB9CiAKK3N0YXRpYyBFaW5hX0Jvb2wgY2hlY2tDbGllbnRTdWdnZXN0aW9uc0Zvcldv
cmQoRXdrX1ZpZXdfU21hcnRfRGF0YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250
ZXh0X01lbnUqIGNvbnRleHRNZW51KQoreworICAgIGNvbnN0IEVpbmFfTGlzdCogY29udGV4dE1l
bnVJdGVtcyA9IGV3a19jb250ZXh0X21lbnVfaXRlbXNfZ2V0KGNvbnRleHRNZW51KTsKKworICAg
IHNpemVfdCBudW1iZXJPZlN1Z2dlc3Rpb25zID0gV1RGX0FSUkFZX0xFTkdUSChjbGllbnRTdWdn
ZXN0aW9uc0ZvcldvcmQpOworICAgIC8vIGNvbnRleHRNZW51SXRlbXMgc2hvdWxkIGNvbnRhaW4g
c3VnZ2VzdGlvbnMgYW5kIGFub3RoZXIgb3B0aW9ucy4KKyAgICBpZiAobnVtYmVyT2ZTdWdnZXN0
aW9ucyA+IGVpbmFfbGlzdF9jb3VudChjb250ZXh0TWVudUl0ZW1zKSkgeworICAgICAgICBBRERf
RkFJTFVSRSgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgLy8gVmVyaWZ5IHN1
Z2dlc3Rpb25zIGZyb20gdGhlIHRvcCBvZiBjb250ZXh0IG1lbnUgbGlzdC4KKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IG51bWJlck9mU3VnZ2VzdGlvbnM7ICsraSkgeworICAgICAgICBFd2tf
Q29udGV4dF9NZW51X0l0ZW0qIGl0ZW0gPSBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0
ZW0qPihlaW5hX2xpc3RfZGF0YV9nZXQoY29udGV4dE1lbnVJdGVtcykpOworICAgICAgICBFWFBF
Q1RfU1RSRVEoY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW2ldLCBld2tfY29udGV4dF9tZW51X2l0
ZW1fdGl0bGVfZ2V0KGl0ZW0pKTsKKyAgICAgICAgY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlz
dF9uZXh0KGNvbnRleHRNZW51SXRlbXMpOworICAgIH0KKworICAgIHdhc0NvbnRleHRNZW51U2hv
d24gPSB0cnVlOworICAgIHJldHVybiB0cnVlOworfQorCiAvKioKICAqIFRlc3Qgd2hldGhlciB0
aGUgZGVmYXVsdCBsYW5ndWFnZSBpcyBsb2FkZWQgaW5kZXBlbmRlbnRseSBvZgogICogY29udGlu
dW91cyBzcGVsbCBjaGVja2luZyBzZXR0aW5nLgpAQCAtNTk4LDE5ICs2MjMsMTggQEAgVEVTVF9G
KEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5nX3NwZWxsaW5nX2NoZWNr
X2NiX3NldCkKIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRf
Z3Vlc3Nlc19nZXRfY2Jfc2V0KQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMo
KTsKKyAgICB3YXNDb250ZXh0TWVudVNob3duID0gZmFsc2U7CiAgICAgZGVmYXVsdFZpZXcgPSB3
ZWJWaWV3KCk7Ci0gICAgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5n
X2VuYWJsZWRfc2V0KHRydWUpOwotCisgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9z
aG93ID0gY2hlY2tDbGllbnRTdWdnZXN0aW9uc0ZvcldvcmQ7CiAgICAgZXdrX3RleHRfY2hlY2tl
cl93b3JkX2d1ZXNzZXNfZ2V0X2NiX3NldChvbldvcmRHdWVzc2VzKTsKIAogICAgIEFTU0VSVF9U
UlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVz
dC5odG1sIikuZGF0YSgpKSk7CiAKLSAgICAvKiBGSVhNRToKLSAgICAgICAgMSkgSW52b2tlIHRo
ZSBjb250ZXh0IG1lbnUgb24gdGhlIG1pc3NwZWxsZWQgd29yZCAobm90IGltcGxlbWVudGVkIGZv
ciBXSzIpLAotICAgICAgICAgICB0aGUgd29yZCBoYXMgdG8gYmUgc2VsZWN0ZWQgZmlyc3QuCi0g
ICAgICAgIDIpIEZpbGwgdGhlIHN1Z2dlc3Rpb24gbGlzdCBpbiB0aGUgb25Xb3JkR3Vlc3NlcyBj
YWxsYmFjay4KLSAgICAgICAgMykgQ29tcGFyZSBjb250ZXh0IG1lbnUgc3VnZ2VzdGlvbnMgdG8g
dGhlIHN1Z2dlc3Rpb24gbGlzdC4KLSAgICAgICAgNCkgQ2hlY2sgd2hldGhlciB0aGUgY2FsbGJh
Y2sgd2FzIGNhbGxlZC4gKi8gICAgCisgICAgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VDbGljaygx
MCwgMjAsIC8qUmlnaHQgYnV0dG9uKi8gMyk7CisgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1
ZSh3YXNDb250ZXh0TWVudVNob3duKSk7CisKKyAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBjYWxs
YmFjayBpcyBjYWxsZWQuCisgICAgQVNTRVJUX1RSVUUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMu
d29yZEd1ZXNzZXMpOwogfQogCiAvKioK
</data>
<flag name="review"
          id="226524"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205278</attachid>
            <date>2013-06-24 01:41:44 -0700</date>
            <delta_ts>2013-06-24 02:38:36 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordGuesses.patch</filename>
            <type>text/plain</type>
            <size>4581</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjllZWQ1Li5kNjZjNTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDYtMjQgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrOiBv
bldvcmRHdWVzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3Nzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXN0b3BoZSBEdW1lei4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIu
Y3BwOgorICAgICAgICAob25Xb3JkR3Vlc3Nlcyk6CisgICAgICAgIEFkZCBjbGllbnQgc3VnZ2Vz
dGlvbnMgZm9yIHRoZSB3b3JkLgorCisgICAgICAgIChjaGVja0NsaWVudFN1Z2dlc3Rpb25zRm9y
V29yZCk6CisgICAgICAgIFZlcmlmeSB0aGUgc3VnZ2VzdGlvbnMgdGhhdCB3ZXJlIGdpdmVuIGJ5
IHRoZSBjbGllbnQuCisKIDIwMTMtMDYtMTkgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5z
a2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0
IGNhbGxiYWNrOiBvblNldHRpbmdDaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIu
Y3BwCmluZGV4IDZiNDMxZmQuLjMwMTNhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNr
ZXIuY3BwCkBAIC01MCw2ICs1MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIG5vR3Vlc3Nlc1N0cmlu
Z1tdID0gIk5vIEd1ZXNzZXMgRm91bmQiOwogc3RhdGljIGNvbnN0IGNoYXIgaWdub3JlU3BlbGxp
bmdTdHJpbmdbXSA9ICJJZ25vcmUgU3BlbGxpbmciOwogc3RhdGljIGNvbnN0IGNoYXIgbGVhcm5T
cGVsbGluZ1N0cmluZ1tdID0gIkxlYXJuIFNwZWxsaW5nIjsKIAorc3RhdGljIGNvbnN0IGNoYXIq
IGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZFtdID0geyAiY2xpZW50U3VnZ2VzdGlvbjEiLCAiY2xp
ZW50U3VnZ2VzdGlvbjIiLCAiY2xpZW50U3VnZ2VzdGlvbjMiIH07CisKIC8qKgogICogU3RydWN0
dXJlIGtlZXBzIGluZm9ybWF0aW9uIHdoaWNoIGNhbGxiYWNrcyB3ZXJlIGNhbGxlZC4KICAqIEl0
cyB2YWx1ZXMgYXJlIHJlc2V0IGJlZm9yZSBlYWNoIHRlc3QuCkBAIC0xODAsOSArMTgyLDExIEBA
IHN0YXRpYyBFaW5hX0xpc3QqIG9uV29yZEd1ZXNzZXModWludDY0X3QgdGFnLCBjb25zdCBjaGFy
KiB3b3JkKQogICAgIEVYUEVDVF9TVFJFUShleHBlY3RlZE1pc3NwZWxsZWRXb3JkLCB3b3JkKTsK
IAogICAgIEVpbmFfTGlzdCogc3VnZ2VzdGlvbnNGb3JXb3JkID0gMDsKLSAgICAvLyBGSVhNRTog
RmlsbCB0aGUgRWluYV9MaXN0IHdpdGggc3VnZ2VzdGlvbnMgZm9yIHRoZSBtaXNzcGVsbGVkIHdv
cmQuCi0gICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZEd1ZXNzZXMgPSB0cnVlOworICAg
IHNpemVfdCBudW1iZXJPZlN1Z2dlc3Rpb25zID0gV1RGX0FSUkFZX0xFTkdUSChjbGllbnRTdWdn
ZXN0aW9uc0ZvcldvcmQpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtYmVyT2ZTdWdn
ZXN0aW9uczsgKytpKQorICAgICAgICBzdWdnZXN0aW9uc0ZvcldvcmQgPSBlaW5hX2xpc3RfYXBw
ZW5kKHN1Z2dlc3Rpb25zRm9yV29yZCwgc3RyZHVwKGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZFtp
XSkpOwogCisgICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZEd1ZXNzZXMgPSB0cnVlOwog
ICAgIHJldHVybiBzdWdnZXN0aW9uc0ZvcldvcmQ7CiB9CiAKQEAgLTI3OSw2ICsyODMsMjcgQEAg
c3RhdGljIEVpbmFfQm9vbCB0b29nbGVDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmcoRXdrX1ZpZXdf
U21hcnRfRGF0YSosIEV2YXNfQ29vcmQKICAgICByZXR1cm4gZXdrX2NvbnRleHRfbWVudV9pdGVt
X3NlbGVjdChzcGVsbGluZ0FuZEdyYW1tYXJTdWJtZW51LCBjaGVja1NwZWxsaW5nV2hpbGVUeXBp
bmdJdGVtKTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBjaGVja0NsaWVudFN1Z2dlc3Rpb25zRm9y
V29yZChFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0Nv
bnRleHRfTWVudSogY29udGV4dE1lbnUpCit7CisgICAgY29uc3QgRWluYV9MaXN0KiBjb250ZXh0
TWVudUl0ZW1zID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOworCisg
ICAgc2l6ZV90IG51bWJlck9mU3VnZ2VzdGlvbnMgPSBXVEZfQVJSQVlfTEVOR1RIKGNsaWVudFN1
Z2dlc3Rpb25zRm9yV29yZCk7CisgICAgLy8gY29udGV4dE1lbnVJdGVtcyBzaG91bGQgY29udGFp
biBzdWdnZXN0aW9ucyBhbmQgYW5vdGhlciBvcHRpb25zLgorICAgIGlmIChudW1iZXJPZlN1Z2dl
c3Rpb25zID4gZWluYV9saXN0X2NvdW50KGNvbnRleHRNZW51SXRlbXMpKSB7CisgICAgICAgIEFE
RF9GQUlMVVJFKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAvLyBWZXJpZnkg
c3VnZ2VzdGlvbnMgZnJvbSB0aGUgdG9wIG9mIGNvbnRleHQgbWVudSBsaXN0LgorICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbnVtYmVyT2ZTdWdnZXN0aW9uczsgKytpKSB7CisgICAgICAgIEV3
a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVf
SXRlbSo+KGVpbmFfbGlzdF9kYXRhX2dldChjb250ZXh0TWVudUl0ZW1zKSk7CisgICAgICAgIEVY
UEVDVF9TVFJFUShjbGllbnRTdWdnZXN0aW9uc0ZvcldvcmRbaV0sIGV3a19jb250ZXh0X21lbnVf
aXRlbV90aXRsZV9nZXQoaXRlbSkpOworICAgICAgICBjb250ZXh0TWVudUl0ZW1zID0gZWluYV9s
aXN0X25leHQoY29udGV4dE1lbnVJdGVtcyk7CisgICAgfQorCisgICAgd2FzQ29udGV4dE1lbnVT
aG93biA9IHRydWU7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIC8qKgogICogVGVzdCB3aGV0aGVy
IHRoZSBkZWZhdWx0IGxhbmd1YWdlIGlzIGxvYWRlZCBpbmRlcGVuZGVudGx5IG9mCiAgKiBjb250
aW51b3VzIHNwZWxsIGNoZWNraW5nIHNldHRpbmcuCkBAIC01OTgsMTkgKzYyMywyMCBAQCBURVNU
X0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9zdHJpbmdfc3BlbGxpbmdfY2hl
Y2tfY2Jfc2V0KQogVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29y
ZF9ndWVzc2VzX2dldF9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0
cygpOworICAgIHdhc0NvbnRleHRNZW51U2hvd24gPSBmYWxzZTsKICAgICBkZWZhdWx0VmlldyA9
IHdlYlZpZXcoKTsKLSAgICBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tp
bmdfZW5hYmxlZF9zZXQodHJ1ZSk7Ci0KKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51
X3Nob3cgPSBjaGVja0NsaWVudFN1Z2dlc3Rpb25zRm9yV29yZDsKICAgICBld2tfdGV4dF9jaGVj
a2VyX3dvcmRfZ3Vlc3Nlc19nZXRfY2Jfc2V0KG9uV29yZEd1ZXNzZXMpOwogCiAgICAgQVNTRVJU
X1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJzcGVsbGluZ190
ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKIAotICAgIC8qIEZJWE1FOgotICAgICAgICAxKSBJbnZva2Ug
dGhlIGNvbnRleHQgbWVudSBvbiB0aGUgbWlzc3BlbGxlZCB3b3JkIChub3QgaW1wbGVtZW50ZWQg
Zm9yIFdLMiksCi0gICAgICAgICAgIHRoZSB3b3JkIGhhcyB0byBiZSBzZWxlY3RlZCBmaXJzdC4K
LSAgICAgICAgMikgRmlsbCB0aGUgc3VnZ2VzdGlvbiBsaXN0IGluIHRoZSBvbldvcmRHdWVzc2Vz
IGNhbGxiYWNrLgotICAgICAgICAzKSBDb21wYXJlIGNvbnRleHQgbWVudSBzdWdnZXN0aW9ucyB0
byB0aGUgc3VnZ2VzdGlvbiBsaXN0LgotICAgICAgICA0KSBDaGVjayB3aGV0aGVyIHRoZSBjYWxs
YmFjayB3YXMgY2FsbGVkLiAqLyAgICAKKyAgICBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNr
KDEwLCAyMCwgLypSaWdodCBidXR0b24qLyAzKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxU
cnVlKHdhc0NvbnRleHRNZW51U2hvd24pKTsKKworICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGNh
bGxiYWNrIGlzIGNhbGxlZC4KKyAgICBBU1NFUlRfVFJVRShjYWxsYmFja3NFeGVjdXRpb25TdGF0
cy53b3JkR3Vlc3Nlcyk7CisKKyAgICBld2tfdGV4dF9jaGVja2VyX3dvcmRfZ3Vlc3Nlc19nZXRf
Y2Jfc2V0KDApOwogfQogCiAvKioK
</data>

          </attachment>
      

    </bug>

</bugzilla>