LLVMFuzzerTestOneInput:
   19|  3.52k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
   20|       |
   21|  3.52k|    if (Size < kMinInputLength || Size > kMaxInputLength) {
  ------------------
  |  |   14|  7.04k|#define kMinInputLength 10
  ------------------
                  if (Size < kMinInputLength || Size > kMaxInputLength) {
  ------------------
  |  |   15|  3.51k|#define kMaxInputLength 5120
  ------------------
  |  Branch (21:9): [True: 6, False: 3.51k]
  |  Branch (21:35): [True: 15, False: 3.50k]
  ------------------
   22|     21|        return 1;
   23|     21|    }
   24|       |
   25|  3.50k|    std::string data(Data, Data + Size);
   26|       |
   27|  3.50k|    try {
   28|  3.50k|        Json::Object initial;
   29|  3.50k|        Json::parse(data, initial);
   30|  3.50k|    }catch( ... ){ /* ... */}
   31|       |
   32|  3.50k|    try {
   33|  3.50k|        Json::Value initial;
   34|  3.50k|        Json::parse(data, initial);
   35|  3.50k|    }catch( ... ){ /* ... */}
   36|       |
   37|  3.50k|    return 0;
   38|  3.50k|}

_ZN2Wt4Json5ArrayC2Ev:
   15|  75.8k|  : Impl()
   16|  75.8k|{ }
_ZN2Wt4Json5ArrayC2ERKS1_:
   19|  16.3k|  : Impl(other)
   20|  16.3k|{ }
_ZN2Wt4Json5ArrayC2EOS1_:
   29|  75.8k|  : Impl(std::move(other))
   30|  75.8k|{ }

_ZN2Wt4Json6ObjectC2Ev:
   17|  11.6k|{ }
_ZN2Wt4Json6ObjectC2ERKS1_:
   20|  6.09k|  : Impl(other)
   21|  6.09k|{ }
_ZN2Wt4Json6Object4swapERS1_:
   24|      4|{
   25|      4|  Impl::swap(other);
   26|      4|}
_ZN2Wt4Json6ObjectC2EOS1_:
   35|  8.13k|  : Impl(std::move(other))
   36|  8.13k|{ }

_ZN2Wt4Json10ParseErrorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
   47|  6.96k|  : WException(message)
   48|  6.96k|{ }
_ZN2Wt4Json5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS0_5ValueEb:
  330|  7.00k|{
  331|  7.00k|  parseJson(input, result, validateUTF8);
  332|  7.00k|}
_ZN2Wt4Json5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS0_6ObjectEb:
  346|  3.50k|{
  347|  3.50k|  Value value;
  348|       |
  349|  3.50k|  parse(input, value, validateUTF8);
  350|       |
  351|  3.50k|  Object& parsedObject = value;
  352|       |
  353|  3.50k|  parsedObject.swap(result);
  354|  3.50k|}
Parser.C:_ZN2Wt4Json12_GLOBAL__N_19parseJsonERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS0_5ValueEb:
  293|  7.00k|  {
  294|       |    // security sanitization of input UTF-8
  295|  7.00k|    std::string validated_string = str;
  296|  7.00k|    if (validateUTF8)
  ------------------
  |  Branch (296:9): [True: 7.00k, False: 0]
  ------------------
  297|  7.00k|      WString::checkUTF8Encoding(validated_string);
  298|       |
  299|  7.00k|    json_grammar<std::string::const_iterator> g(result);
  300|       |
  301|  7.00k|    std::string::const_iterator begin = validated_string.begin();
  302|  7.00k|    std::string::const_iterator end = validated_string.end();
  303|  7.00k|    bool success = false;
  304|       |
  305|  7.00k|    try {
  306|  7.00k|      success = qi::phrase_parse(begin, end, g, ascii::space);
  307|  7.00k|    } catch (const std::exception &e) {
  308|    550|      throw ParseError(e.what());
  309|    550|    }
  310|       |
  311|  6.45k|    if (success) {
  ------------------
  |  Branch (311:9): [True: 68, False: 6.38k]
  ------------------
  312|     68|      if (begin != end)
  ------------------
  |  Branch (312:11): [True: 30, False: 38]
  ------------------
  313|     30|        throw ParseError("Error parsing json: Expected end here:\""
  314|     30|                         + std::string(begin, end) + "\"");
  315|     68|    } else
  316|  6.38k|      throw ParseError("Error parsing json: \"" + std::string(begin, end)
  317|  6.38k|                       + "\"");
  318|  6.45k|  }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEC2ERNS0_5ValueE:
   67|  7.00k|    : json_grammar::base_type(root),
   68|  7.00k|      result_(result),
   69|  7.00k|      recursionDepth_(0)
   70|  7.00k|  {
   71|  7.00k|    create();
   72|       |
   73|  7.00k|    state_.push_back(State::InObject);
   74|  7.00k|    currentValue_ = &result_;
   75|  7.00k|  }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEv:
  104|  7.00k|  {
  105|  7.00k|    using qi::lit;
  106|  7.00k|    using qi::double_;
  107|  7.00k|    using qi::lexeme;
  108|  7.00k|    using qi::no_case;
  109|  7.00k|    using qi::raw;
  110|  7.00k|    using qi::on_error;
  111|  7.00k|    using qi::fail;
  112|  7.00k|    using qi::uint_parser;
  113|  7.00k|    using ascii::char_;
  114|  7.00k|    using ascii::graph;
  115|       |
  116|  7.00k|    using phoenix::construct;
  117|  7.00k|    using phoenix::val;
  118|  7.00k|    using phoenix::throw_;
  119|       |
  120|  7.00k|    root
  121|  7.00k|      = object | array;
  122|       |
  123|  7.00k|    const auto endObject = [this](){
  124|  7.00k|      state_.pop_back();
  125|  7.00k|      objectStack_.pop_back();
  126|       |
  127|  7.00k|      --recursionDepth_;
  128|  7.00k|    };
  129|       |
  130|  7.00k|    object
  131|  7.00k|      =  lit('{')[boost::bind(&Self::startObject, this, boost::arg<3>())]
  132|  7.00k|      >> -(member % ',')
  133|  7.00k|      >> lit('}')[endObject]
  134|  7.00k|      ;
  135|       |
  136|  7.00k|    const auto setMemberName = [this]()
  137|  7.00k|    {
  138|  7.00k|      assert(state() == State::InObject);
  139|       |
  140|  7.00k|      currentValue_ = &((currentObject())[s_.str()] = Value::Null);
  141|  7.00k|      s_.clear();
  142|  7.00k|    };
  143|       |
  144|  7.00k|    member
  145|  7.00k|      = raw[string][setMemberName]
  146|  7.00k|      >> lit(':')
  147|  7.00k|      >> value
  148|  7.00k|      ;
  149|       |
  150|  7.00k|    const auto endArray = [this]()
  151|  7.00k|    {
  152|  7.00k|      state_.pop_back();
  153|  7.00k|      arrayStack_.pop_back();
  154|       |
  155|  7.00k|      --recursionDepth_;
  156|  7.00k|    };
  157|       |
  158|  7.00k|    array
  159|  7.00k|      = lit('[')[boost::bind(&Self::startArray, this, boost::arg<3>())]
  160|  7.00k|      >> -(value % ',')
  161|  7.00k|      >> lit(']')[endArray]
  162|  7.00k|      ;
  163|       |
  164|  7.00k|    const auto setStringValue = [this]()
  165|  7.00k|    {
  166|  7.00k|      refCurrent();
  167|       |
  168|  7.00k|      *currentValue_ = Value(WString::fromUTF8(s_.str()));
  169|  7.00k|      s_.clear();
  170|  7.00k|      currentValue_ = nullptr;
  171|  7.00k|    };
  172|       |
  173|  7.00k|    const auto setNumberValue = [this](double d)
  174|  7.00k|    {
  175|       |      // FIXME save as long long or int too ?
  176|  7.00k|      refCurrent();
  177|  7.00k|      *currentValue_ = Value(d);
  178|  7.00k|      currentValue_ = nullptr;
  179|  7.00k|    };
  180|       |
  181|  7.00k|    const auto setTrueValue = [this]()
  182|  7.00k|    {
  183|  7.00k|      refCurrent();
  184|  7.00k|      *currentValue_ = Value::True;
  185|  7.00k|      currentValue_ = nullptr;
  186|  7.00k|    };
  187|       |
  188|  7.00k|    const auto setFalseValue = [this]()
  189|  7.00k|    {
  190|  7.00k|      refCurrent();
  191|  7.00k|      *currentValue_ = Value::False;
  192|  7.00k|      currentValue_ = nullptr;
  193|  7.00k|    };
  194|       |
  195|  7.00k|    const auto setNullValue = [this]()
  196|  7.00k|    {
  197|  7.00k|      refCurrent();
  198|  7.00k|      *currentValue_ = Value::Null;
  199|  7.00k|      currentValue_ = nullptr;
  200|  7.00k|    };
  201|       |
  202|  7.00k|    value
  203|  7.00k|      = raw[string][setStringValue]
  204|  7.00k|      | double_[setNumberValue]
  205|  7.00k|      | lit("true")[setTrueValue]
  206|  7.00k|      | lit("false")[setFalseValue]
  207|  7.00k|      | lit("null")[setNullValue]
  208|  7.00k|      | object
  209|  7.00k|      | array
  210|  7.00k|      ;
  211|       |
  212|  7.00k|    string
  213|  7.00k|      = lexeme['"' > *character > '"']
  214|  7.00k|      ;
  215|       |
  216|  7.00k|    const auto addChar = [this](char c)
  217|  7.00k|    {
  218|  7.00k|      s_ << c;
  219|  7.00k|    };
  220|       |
  221|  7.00k|    character
  222|  7.00k|      = (char_ - '\\' - '"')[addChar]
  223|  7.00k|      | (lit('\\') > escape)
  224|  7.00k|      ;
  225|       |
  226|  7.00k|    const auto addEscapedChar = [this](char c)
  227|  7.00k|    {
  228|  7.00k|      switch (c) {
  229|  7.00k|      case 'b': s_ << '\b'; break;
  230|  7.00k|      case 'f': s_ << '\f'; break;
  231|  7.00k|      case 'n': s_ << '\n'; break;
  232|  7.00k|      case 'r': s_ << '\r'; break;
  233|  7.00k|      case 't': s_ << '\t'; break;
  234|  7.00k|      default:  s_ << c;
  235|  7.00k|      }
  236|  7.00k|    };
  237|       |
  238|  7.00k|    const auto addUnicodeChar = [this](unsigned long code)
  239|  7.00k|    {
  240|  7.00k|      char buf[4];
  241|  7.00k|      char *end = buf;
  242|  7.00k|      Wt::rapidxml::xml_document<>::insert_coded_character<0>(end, code);
  243|  7.00k|      for (char *b = buf; b != end; ++b)
  244|  7.00k|        s_ << *b;
  245|  7.00k|    };
  246|       |
  247|  7.00k|    escape
  248|  7.00k|      = char_("\"\\/bfnrt")[addEscapedChar]
  249|  7.00k|      | ('u' > uint_parser<unsigned long, 16, 4, 4>()
  250|  7.00k|         [addUnicodeChar])
  251|  7.00k|      ;
  252|  7.00k|  }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE11startObjectERb:
   78|  8.13k|  {
   79|  8.13k|    refCurrent();
   80|       |
   81|  8.13k|    *currentValue_ = Value(Type::Object);
   82|  8.13k|    objectStack_.push_back(&((Object&)(*currentValue_)));
   83|  8.13k|    state_.push_back(State::InObject);
   84|       |
   85|  8.13k|    ++recursionDepth_;
   86|       |
   87|  8.13k|    pass = recursionDepth_ <= MAX_RECURSION_DEPTH;
   88|  8.13k|  }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE10refCurrentEv:
  278|   130k|  {
  279|   130k|    switch (state()) {
  ------------------
  |  Branch (279:13): [True: 130k, False: 0]
  ------------------
  280|  18.4k|    case State::InObject:
  ------------------
  |  Branch (280:5): [True: 18.4k, False: 112k]
  ------------------
  281|  18.4k|      assert(currentValue_);
  282|  18.4k|      break;
  283|   112k|    case State::InArray:
  ------------------
  |  Branch (283:5): [True: 112k, False: 18.4k]
  ------------------
  284|   112k|      currentArray().push_back(Value());
  285|   112k|      currentValue_ = &currentArray().back();
  286|   112k|      break;
  287|   130k|    }
  288|   130k|  }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE5stateEv:
  273|   130k|  State state() { return state_.back(); }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE12currentArrayEv:
  275|   224k|  Array& currentArray() { return *(arrayStack_.back()); }
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE_clEv:
  123|  2.14k|    const auto endObject = [this](){
  124|  2.14k|      state_.pop_back();
  125|  2.14k|      objectStack_.pop_back();
  126|       |
  127|  2.14k|      --recursionDepth_;
  128|  2.14k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE0_clEv:
  137|  12.9k|    {
  138|  12.9k|      assert(state() == State::InObject);
  139|       |
  140|  12.9k|      currentValue_ = &((currentObject())[s_.str()] = Value::Null);
  141|  12.9k|      s_.clear();
  142|  12.9k|    };
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE13currentObjectEv:
  274|  12.9k|  Object& currentObject() { return *(objectStack_.back()); }
_ZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE10startArrayERb:
   91|  75.8k|  {
   92|  75.8k|    refCurrent();
   93|       |
   94|  75.8k|    *currentValue_ = Value(Type::Array);
   95|  75.8k|    arrayStack_.push_back(&((Array&)(*currentValue_)));
   96|  75.8k|    state_.push_back(State::InArray);
   97|       |
   98|  75.8k|    ++recursionDepth_;
   99|       |
  100|  75.8k|    pass = recursionDepth_ <= MAX_RECURSION_DEPTH;
  101|  75.8k|  }
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE1_clEv:
  151|  2.88k|    {
  152|  2.88k|      state_.pop_back();
  153|  2.88k|      arrayStack_.pop_back();
  154|       |
  155|  2.88k|      --recursionDepth_;
  156|  2.88k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE2_clEv:
  165|  4.18k|    {
  166|  4.18k|      refCurrent();
  167|       |
  168|  4.18k|      *currentValue_ = Value(WString::fromUTF8(s_.str()));
  169|  4.18k|      s_.clear();
  170|  4.18k|      currentValue_ = nullptr;
  171|  4.18k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUldE_clEd:
  174|  41.6k|    {
  175|       |      // FIXME save as long long or int too ?
  176|  41.6k|      refCurrent();
  177|  41.6k|      *currentValue_ = Value(d);
  178|  41.6k|      currentValue_ = nullptr;
  179|  41.6k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE3_clEv:
  182|    284|    {
  183|    284|      refCurrent();
  184|    284|      *currentValue_ = Value::True;
  185|    284|      currentValue_ = nullptr;
  186|    284|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE4_clEv:
  189|    264|    {
  190|    264|      refCurrent();
  191|    264|      *currentValue_ = Value::False;
  192|    264|      currentValue_ = nullptr;
  193|    264|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlvE5_clEv:
  196|    468|    {
  197|    468|      refCurrent();
  198|    468|      *currentValue_ = Value::Null;
  199|    468|      currentValue_ = nullptr;
  200|    468|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlcE_clEc:
  217|   429k|    {
  218|   429k|      s_ << c;
  219|   429k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlcE0_clEc:
  227|  4.31k|    {
  228|  4.31k|      switch (c) {
  229|  1.27k|      case 'b': s_ << '\b'; break;
  ------------------
  |  Branch (229:7): [True: 1.27k, False: 3.04k]
  ------------------
  230|    406|      case 'f': s_ << '\f'; break;
  ------------------
  |  Branch (230:7): [True: 406, False: 3.91k]
  ------------------
  231|    134|      case 'n': s_ << '\n'; break;
  ------------------
  |  Branch (231:7): [True: 134, False: 4.18k]
  ------------------
  232|  1.26k|      case 'r': s_ << '\r'; break;
  ------------------
  |  Branch (232:7): [True: 1.26k, False: 3.05k]
  ------------------
  233|    434|      case 't': s_ << '\t'; break;
  ------------------
  |  Branch (233:7): [True: 434, False: 3.88k]
  ------------------
  234|    806|      default:  s_ << c;
  ------------------
  |  Branch (234:7): [True: 806, False: 3.51k]
  ------------------
  235|  4.31k|      }
  236|  4.31k|    };
_ZZN2Wt4Json12json_grammarIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE6createEvENKUlmE_clEm:
  239|  2.92k|    {
  240|  2.92k|      char buf[4];
  241|  2.92k|      char *end = buf;
  242|  2.92k|      Wt::rapidxml::xml_document<>::insert_coded_character<0>(end, code);
  243|  9.76k|      for (char *b = buf; b != end; ++b)
  ------------------
  |  Branch (243:27): [True: 6.83k, False: 2.92k]
  ------------------
  244|  6.83k|        s_ << *b;
  245|  2.92k|    };

_ZN2Wt4Json13TypeExceptionC2ENS0_4TypeES2_:
   44|     15|  : WException(std::string("Type error: value is ")
   45|     15|               + typeNames[static_cast<unsigned int>(actualType)]
   46|     15|               + ", expected "
   47|     15|               + typeNames[static_cast<unsigned int>(expectedType)]),
   48|     15|    actualType_(actualType),
   49|     15|    expectedType_(expectedType)
   50|     15|{ }
_ZN2Wt4Json13TypeExceptionD2Ev:
   53|     15|{ }
_ZN2Wt4Json5ValueC2Ev:
   87|   131k|{ }
_ZN2Wt4Json5ValueC2Eb:
   90|      4|  : v_(value)
   91|      4|{ }
_ZN2Wt4Json5ValueC2EONS_7WStringE:
   98|  4.18k|  : v_(std::move(value))
   99|  4.18k|{ }
_ZN2Wt4Json5ValueC2Ed:
  115|  41.6k|  : v_(value)
  116|  41.6k|{ }
_ZN2Wt4Json5ValueC2ENS0_4TypeE:
  131|  84.0k|{
  132|  84.0k|  switch (type) {
  ------------------
  |  Branch (132:11): [True: 84.0k, False: 0]
  ------------------
  133|      0|  case Type::Null: break;
  ------------------
  |  Branch (133:3): [True: 0, False: 84.0k]
  ------------------
  134|      0|  case Type::Bool: v_ = false; break;
  ------------------
  |  Branch (134:3): [True: 0, False: 84.0k]
  ------------------
  135|      0|  case Type::Number: v_ = double(0.0); break;
  ------------------
  |  Branch (135:3): [True: 0, False: 84.0k]
  ------------------
  136|      0|  case Type::String: v_ = std::string(); break;
  ------------------
  |  Branch (136:3): [True: 0, False: 84.0k]
  ------------------
  137|  8.13k|  case Type::Object: v_ = Object(); break;
  ------------------
  |  Branch (137:3): [True: 8.13k, False: 75.8k]
  ------------------
  138|  75.8k|  case Type::Array: v_ = Array(); break;
  ------------------
  |  Branch (138:3): [True: 75.8k, False: 8.13k]
  ------------------
  139|  84.0k|  }
  140|  84.0k|}
_ZN2Wt4Json5ValueC2ERKS1_:
  143|   110k|  : v_(other.v_)
  144|   110k|{ }
_ZN2Wt4Json5ValueC2EOS1_:
  147|   112k|  : v_(std::move(other.v_))
  148|   112k|{ }
_ZN2Wt4Json5ValueaSERKS1_:
  159|  13.9k|{
  160|  13.9k|  v_ = other.v_;
  161|  13.9k|  return *this;
  162|  13.9k|}
_ZN2Wt4Json5ValueaSEOS1_:
  165|   129k|{
  166|   129k|  v_ = std::move(other.v_);
  167|   129k|  return *this;
  168|   129k|}
_ZNK2Wt4Json5Value4typeEv:
  220|     15|{
  221|     15|  if (!cpp17::any_has_value(v_))
  ------------------
  |  Branch (221:7): [True: 0, False: 15]
  ------------------
  222|      0|    return Type::Null;
  223|     15|  else {
  224|     15|    return typeOf(v_.type());
  225|     15|  }
  226|     15|}
_ZN2Wt4Json5Value6typeOfERKSt9type_info:
  234|     15|{
  235|     15|  if (t == typeid(bool))
  ------------------
  |  Branch (235:7): [True: 0, False: 15]
  ------------------
  236|      0|    return Type::Bool;
  237|     15|  else if (t == typeid(double) || t == typeid(long long) || t == typeid(int) || t == typeid(long))
  ------------------
  |  Branch (237:12): [True: 0, False: 15]
  |  Branch (237:35): [True: 0, False: 15]
  |  Branch (237:61): [True: 0, False: 15]
  |  Branch (237:81): [True: 0, False: 15]
  ------------------
  238|      0|    return Type::Number;
  239|     15|  else if (t == typeid(WT_USTRING))
  ------------------
  |  Branch (239:12): [True: 0, False: 15]
  ------------------
  240|      0|    return Type::String;
  241|     15|  else if (t == typeid(Object))
  ------------------
  |  Branch (241:12): [True: 0, False: 15]
  ------------------
  242|      0|    return Type::Object;
  243|     15|  else if (t == typeid(Array))
  ------------------
  |  Branch (243:12): [True: 15, False: 0]
  ------------------
  244|     15|    return Type::Array;
  245|      0|  else
  246|      0|    throw WException(std::string("Value::typeOf(): unsupported type ")
  247|      0|                     + t.name());
  248|     15|}
_ZN2Wt4Json5ValuecvRNS0_5ArrayEEv:
  340|  75.8k|{
  341|  75.8k|  return getR<Array>(Type::Array);
  342|  75.8k|}
_ZN2Wt4Json5ValuecvRNS0_6ObjectEEv:
  345|  8.15k|{
  346|  8.15k|  return getR<Object>(Type::Object);
  347|  8.15k|}
_ZN2Wt4Json5Value4getRINS0_5ArrayEEERT_NS0_4TypeE:
   74|  75.8k|{
   75|  75.8k|  try {
   76|  75.8k|    return cpp17::any_cast<T&>(v_);
   77|  75.8k|  } catch (cpp17::bad_any_cast& e) {
   78|      0|    throw TypeException(type(), requestedType);
   79|      0|  }
   80|  75.8k|}
_ZN2Wt4Json5Value4getRINS0_6ObjectEEERT_NS0_4TypeE:
   74|  8.15k|{
   75|  8.15k|  try {
   76|  8.15k|    return cpp17::any_cast<T&>(v_);
   77|  8.15k|  } catch (cpp17::bad_any_cast& e) {
   78|     15|    throw TypeException(type(), requestedType);
   79|     15|  }
   80|  8.15k|}

_ZN2Wt10WExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
   75|  6.97k|  : what_(what)
   76|       |#endif
   77|  6.97k|{ }
_ZN2Wt10WExceptionD2Ev:
   89|  6.97k|{ }

_ZN2WtorENS_11OrientationES0_:
  370|    348|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    348|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    348|  retval |= r;                                                          \
  373|    348|  return retval;                                                        \
  374|    348|}                                                                       \
_ZN2Wt6WFlagsINS_11OrientationEEC2ES1_:
  187|    348|  flags_(static_cast<unsigned int>(flag))
  188|    348|{
  189|    348|}
_ZN2Wt6WFlagsINS_11OrientationEEoRES1_:
  327|    348|{
  328|    348|  flags_ |= static_cast<unsigned int>(other);
  329|    348|  return *this;
  330|    348|}
_ZN2WtorENS_4SideES0_:
  370|  1.04k|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|  1.04k|  Wt::WFlags<EnumType> retval(l);                                       \
  372|  1.04k|  retval |= r;                                                          \
  373|  1.04k|  return retval;                                                        \
  374|  1.04k|}                                                                       \
_ZN2Wt6WFlagsINS_4SideEEC2ES1_:
  187|  1.04k|  flags_(static_cast<unsigned int>(flag))
  188|  1.04k|{
  189|  1.04k|}
_ZN2Wt6WFlagsINS_4SideEEoRES1_:
  327|  1.04k|{
  328|  1.04k|  flags_ |= static_cast<unsigned int>(other);
  329|  1.04k|  return *this;
  330|  1.04k|}
_ZN2WtorENS_13AlignmentFlagES0_:
  370|    696|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    696|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    696|  retval |= r;                                                          \
  373|    696|  return retval;                                                        \
  374|    696|}                                                                       \
_ZN2Wt6WFlagsINS_13AlignmentFlagEEC2ES1_:
  187|    696|  flags_(static_cast<unsigned int>(flag))
  188|    696|{
  189|    696|}
_ZN2Wt6WFlagsINS_13AlignmentFlagEEoRES1_:
  327|    696|{
  328|    696|  flags_ |= static_cast<unsigned int>(other);
  329|    696|  return *this;
  330|    696|}
_ZN2WtorENS_9MatchFlagES0_:
  370|    348|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    348|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    348|  retval |= r;                                                          \
  373|    348|  return retval;                                                        \
  374|    348|}                                                                       \
_ZN2Wt6WFlagsINS_9MatchFlagEEC2ES1_:
  187|    348|  flags_(static_cast<unsigned int>(flag))
  188|    348|{
  189|    348|}
_ZN2Wt6WFlagsINS_9MatchFlagEEoRES1_:
  327|    348|{
  328|    348|  flags_ |= static_cast<unsigned int>(other);
  329|    348|  return *this;
  330|    348|}
_ZNK2Wt6WFlagsINS_4SideEEorES1_:
  313|  1.39k|{
  314|  1.39k|  return WFlags<EnumType>::createFromInt
  315|  1.39k|    (flags_ | static_cast<unsigned int>(other));
  316|  1.39k|}
_ZN2Wt6WFlagsINS_4SideEE13createFromIntEi:
  173|  1.39k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  1.39k|    return WFlags(flags, false);
  175|  1.39k|  }
_ZN2Wt6WFlagsINS_4SideEEC2Eib:
  172|  1.39k|  WFlags(int flags, bool): flags_(flags) {}
_ZNK2Wt6WFlagsINS_13AlignmentFlagEEorES1_:
  313|  2.78k|{
  314|  2.78k|  return WFlags<EnumType>::createFromInt
  315|  2.78k|    (flags_ | static_cast<unsigned int>(other));
  316|  2.78k|}
_ZN2Wt6WFlagsINS_13AlignmentFlagEE13createFromIntEi:
  173|  2.78k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  2.78k|    return WFlags(flags, false);
  175|  2.78k|  }
_ZN2Wt6WFlagsINS_13AlignmentFlagEEC2Eib:
  172|  2.78k|  WFlags(int flags, bool): flags_(flags) {}
_ZNK2Wt6WFlagsINS_9MatchFlagEEorES1_:
  313|  1.39k|{
  314|  1.39k|  return WFlags<EnumType>::createFromInt
  315|  1.39k|    (flags_ | static_cast<unsigned int>(other));
  316|  1.39k|}
_ZN2Wt6WFlagsINS_9MatchFlagEE13createFromIntEi:
  173|  1.39k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  1.39k|    return WFlags(flags, false);
  175|  1.39k|  }
_ZN2Wt6WFlagsINS_9MatchFlagEEC2Eib:
  172|  1.39k|  WFlags(int flags, bool): flags_(flags) {}
_ZN2WtorENS_19ValidationStyleFlagES0_:
  370|     58|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|     58|  Wt::WFlags<EnumType> retval(l);                                       \
  372|     58|  retval |= r;                                                          \
  373|     58|  return retval;                                                        \
  374|     58|}                                                                       \
_ZN2Wt6WFlagsINS_19ValidationStyleFlagEEC2ES1_:
  187|     58|  flags_(static_cast<unsigned int>(flag))
  188|     58|{
  189|     58|}
_ZN2Wt6WFlagsINS_19ValidationStyleFlagEEoRES1_:
  327|     58|{
  328|     58|  flags_ |= static_cast<unsigned int>(other);
  329|     58|  return *this;
  330|     58|}
_ZN2WtorENS_7WSlider12TickPositionES1_:
  370|      2|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|      2|  Wt::WFlags<EnumType> retval(l);                                       \
  372|      2|  retval |= r;                                                          \
  373|      2|  return retval;                                                        \
  374|      2|}                                                                       \
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEoRES2_:
  327|      2|{
  328|      2|  flags_ |= static_cast<unsigned int>(other);
  329|      2|  return *this;
  330|      2|}
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEC2ES2_:
  187|      2|  flags_(static_cast<unsigned int>(flag))
  188|      2|{
  189|      2|}
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEC2ENS_11NoFlagsTypeE:
  193|      2|  : flags_(0)
  194|      2|{ }

_ZN2Wt26WJavaScriptExposableObjectC2Ev:
   17|      2|  : clientBinding_(nullptr)
   18|      2|{ }
_ZNK2Wt26WJavaScriptExposableObject17isJavaScriptBoundEv:
   46|      2|{
   47|      2|  return clientBinding_;
   48|      2|}
_ZNK2Wt26WJavaScriptExposableObject15checkModifiableEv:
   93|      2|{
   94|      2|  if (isJavaScriptBound()) {
  ------------------
  |  Branch (94:7): [True: 0, False: 2]
  ------------------
   95|      0|    throw WException("Trying to modify a JavaScript bound object!");
   96|      0|  }
   97|      2|}

_ZN2Wt7WLengthC2Ev:
   24|      2|  : auto_(true),
   25|      2|    unit_(LengthUnit::Pixel),
   26|      2|    value_(-1)
   27|      2|{ }

_ZN2Wt7WLocaleC2Ev:
   16|      2|  : decimalPoint_("."),
   17|      2|    groupSeparator_(""),
   18|      2|    dateFormat_("yyyy-MM-dd"),
   19|      2|    timeFormat_("HH:mm:ss"),
   20|      2|    dateTimeFormat_("yyyy-MM-dd HH:mm:ss"),
   21|      2|    timeZone_(nullptr)
   22|      2|{ }

_ZN2Wt7WLoggerC2Ev:
  247|      2|  : o_(&std::cerr),
  248|      2|    ownStream_(false),
  249|      2|    useLock_(true)
  250|      2|{
  251|      2|  Rule r;
  252|      2|  r.type = "*";
  253|      2|  r.scope = "*";
  254|      2|  r.include = true;
  255|      2|  rules_.push_back(r);
  256|      2|  r.type = "debug";
  257|      2|  r.include = false;
  258|      2|  rules_.push_back(r);
  259|      2|}

_ZN2Wt7WStringC2Ev:
   28|      2|  : impl_(nullptr)
   29|      2|{ }
_ZN2Wt7WStringC2EPKcNS_12CharEncodingE:
   71|      6|  : impl_(nullptr)
   72|      6|{
   73|      6|  if (value) {
  ------------------
  |  Branch (73:7): [True: 6, False: 0]
  ------------------
   74|      6|    if (realEncoding(encoding) == CharEncoding::UTF8)
  ------------------
  |  Branch (74:9): [True: 6, False: 0]
  ------------------
   75|      6|      utf8_ = value;
   76|      0|    else
   77|      0|      utf8_ = Wt::toUTF8(value);
   78|      6|  }
   79|      6|}
_ZN2Wt7WStringC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_12CharEncodingE:
   91|  4.18k|  : impl_(nullptr)
   92|  4.18k|{
   93|  4.18k|  if (realEncoding(encoding) == CharEncoding::UTF8)
  ------------------
  |  Branch (93:7): [True: 4.18k, False: 0]
  ------------------
   94|  4.18k|    utf8_ = std::move(value);
   95|      0|  else {
   96|      0|    utf8_ = Wt::toUTF8(value);
   97|      0|    value.clear();
   98|      0|  }
   99|  4.18k|}
_ZN2Wt7WStringC2ERKS0_:
  114|  8.72k|  : utf8_(other.utf8_),
  115|  8.72k|    impl_(nullptr)
  116|  8.72k|{
  117|  8.72k|  if (other.impl_)
  ------------------
  |  Branch (117:7): [True: 0, False: 8.72k]
  ------------------
  118|      0|    impl_ = new Impl(*other.impl_);
  119|  8.72k|}
_ZN2Wt7WStringC2EOS0_:
  122|  4.18k|  : utf8_(std::move(other.utf8_)),
  123|  4.18k|    impl_(other.impl_)
  124|  4.18k|{
  125|  4.18k|  other.impl_ = nullptr;
  126|  4.18k|}
_ZN2Wt7WStringD2Ev:
  133|  17.0k|{
  134|  17.0k|  delete impl_;
  135|  17.0k|}
_ZN2Wt7WString8fromUTF8EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb:
  270|  4.18k|{
  271|  4.18k|  WString result(std::move(value), CharEncoding::UTF8);
  272|  4.18k|  if (checkValid)
  ------------------
  |  Branch (272:7): [True: 0, False: 4.18k]
  ------------------
  273|      0|    checkUTF8Encoding(result.utf8_);
  274|  4.18k|  return result;
  275|  4.18k|}
_ZN2Wt7WString17checkUTF8EncodingERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  286|  7.00k|{
  287|  7.00k|  unsigned pos = 0;
  288|  1.32M|  for (; pos < value.length();) {
  ------------------
  |  Branch (288:10): [True: 1.31M, False: 7.00k]
  ------------------
  289|  1.31M|    unsigned at = pos;
  290|  1.31M|    const char *c_start = value.c_str() + pos;
  291|  1.31M|    const char *c = c_start;
  292|  1.31M|    try {
  293|  1.31M|      char *dest = nullptr;
  294|  1.31M|      Wt::rapidxml::xml_document<>::copy_check_utf8(c, dest);
  295|  1.31M|      pos += c - c_start;
  296|  1.31M|    } catch (Wt::rapidxml::parse_error& e) {
  297|   140k|      pos += c - c_start;
  298|   384k|      for (unsigned i = at; i < pos && i < value.length();
  ------------------
  |  Branch (298:29): [True: 244k, False: 139k]
  |  Branch (298:40): [True: 244k, False: 442]
  ------------------
  299|   244k|        ++i)
  300|   244k|        value[i] = '?';
  301|   140k|    }
  302|  1.31M|  }
  303|  7.00k|}
_ZN2Wt7WString12realEncodingENS_12CharEncodingE:
  613|  4.19k|{
  614|  4.19k|  return encoding == CharEncoding::Default
  ------------------
  |  Branch (614:10): [True: 6, False: 4.18k]
  ------------------
  615|  4.19k|    ? defaultEncoding_ : encoding;
  616|  4.19k|}

_ZN2Wt13WStringStreamC2Ev:
   34|  7.00k|  : sink_(0),
   35|  7.00k|    buf_(static_buf_),
   36|  7.00k|    buf_i_(0)
   37|  7.00k|{ }
_ZN2Wt13WStringStreamD2Ev:
   53|  7.00k|{
   54|  7.00k|  flushSink();
   55|       |
   56|  7.00k|  clear();
   57|  7.00k|}
_ZN2Wt13WStringStream5clearEv:
   60|  24.0k|{
   61|  24.0k|  buf_i_ = 0;
   62|       |
   63|  24.2k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (63:28): [True: 160, False: 24.0k]
  ------------------
   64|    160|    if (bufs_[i].first != static_buf_)
  ------------------
  |  Branch (64:9): [True: 30, False: 130]
  ------------------
   65|     30|      delete[] bufs_[i].first;
   66|       |
   67|  24.0k|  bufs_.clear();
   68|       |
   69|  24.0k|  if (buf_ != static_buf_)
  ------------------
  |  Branch (69:7): [True: 130, False: 23.9k]
  ------------------
   70|    130|    delete[] buf_;
   71|       |
   72|  24.0k|  buf_ = static_buf_;
   73|  24.0k|}
_ZNK2Wt13WStringStream6lengthEv:
   81|  17.0k|{
   82|  17.0k|  std::size_t result = buf_i_;
   83|       |
   84|  17.2k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (84:28): [True: 148, False: 17.0k]
  ------------------
   85|    148|    result += bufs_[i].second;
   86|       |
   87|  17.0k|  return result;
   88|  17.0k|}
_ZN2Wt13WStringStream9flushSinkEv:
   91|  7.00k|{
   92|  7.00k|  if (sink_) {
  ------------------
  |  Branch (92:7): [True: 0, False: 7.00k]
  ------------------
   93|      0|    sink_->write(buf_, buf_i_);
   94|      0|    buf_i_ = 0;
   95|      0|  }
   96|  7.00k|}
_ZN2Wt13WStringStream7pushBufEv:
   99|    160|{
  100|    160|  if (buf_i_ == 0)
  ------------------
  |  Branch (100:7): [True: 0, False: 160]
  ------------------
  101|      0|    return;
  102|       |
  103|    160|  if (sink_) {
  ------------------
  |  Branch (103:7): [True: 0, False: 160]
  ------------------
  104|      0|    sink_->write(buf_, buf_i_);
  105|    160|  } else {
  106|    160|    bufs_.push_back(std::make_pair(buf_, buf_i_));
  107|    160|    buf_ = new char[D_LEN];
  108|    160|  }
  109|       |
  110|    160|  buf_i_ = 0;
  111|    160|}
_ZN2Wt13WStringStreamlsEc:
  114|   440k|{
  115|   440k|  if (buf_i_ == buf_len())
  ------------------
  |  Branch (115:7): [True: 160, False: 440k]
  ------------------
  116|    160|    pushBuf();
  117|       |
  118|   440k|  buf_[buf_i_++] = c;
  119|       |
  120|   440k|  return *this;
  121|   440k|}
_ZNK2Wt13WStringStream3strB5cxx11Ev:
  198|  17.0k|{
  199|  17.0k|  std::string result;
  200|  17.0k|  result.reserve(length());
  201|       |
  202|  17.2k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (202:28): [True: 148, False: 17.0k]
  ------------------
  203|    148|    result.append(bufs_[i].first, bufs_[i].second);
  204|       |
  205|  17.0k|  result.append(buf_, buf_i_);
  206|       |
  207|  17.0k|  return result;
  208|  17.0k|}

_ZNK2Wt13WStringStream7buf_lenEv:
  219|   440k|    { return buf_ == static_buf_ ? static_cast<int>(S_LEN)
  ------------------
  |  Branch (219:14): [True: 295k, False: 145k]
  ------------------
  220|   440k|        : static_cast<int>(D_LEN); }

_ZN2Wt10WTransformC2Ev:
   29|      2|{
   30|      2|  reset();
   31|      2|}
_ZN2Wt10WTransform5resetEv:
  105|      2|{
  106|      2|  checkModifiable();
  107|      2|  m_[M11] = m_[M22] = 1;
  108|      2|  m_[M21] = m_[M12] = m_[M13] = m_[M23] = 0;
  109|      2|}

_ZN2Wt5cpp1713any_has_valueERKSt3any:
   68|     15|    inline bool any_has_value(const any &v) {
   69|     15|      return v.has_value();
   70|     15|    }
_ZN2Wt5cpp178any_castIRNS_4Json5ArrayEEET_RSt3any:
   77|  75.8k|    ValueType any_cast(any& operand) {
   78|  75.8k|      return std::any_cast<ValueType>(operand);
   79|  75.8k|    }
_ZN2Wt5cpp178any_castIRNS_4Json6ObjectEEET_RSt3any:
   77|  8.15k|    ValueType any_cast(any& operand) {
   78|  8.15k|      return std::any_cast<ValueType>(operand);
   79|  8.15k|    }

_ZN2Wt8rapidxml12xml_documentIcE22insert_coded_characterILi0EEEvRPcm:
 1528|  2.92k|        {
 1529|  2.92k|            if (Flags & parse_no_utf8)
  ------------------
  |  Branch (1529:17): [Folded, False: 2.92k]
  ------------------
 1530|      0|            {
 1531|       |                // Insert 8-bit ASCII character
 1532|       |                // Todo: possibly verify that code is less than 256 and use replacement char otherwise?
 1533|      0|                text[0] = static_cast<unsigned char>(code);
 1534|      0|                text += 1;
 1535|      0|            }
 1536|  2.92k|            else
 1537|  2.92k|            {
 1538|       |                // Insert UTF8 sequence
 1539|  2.92k|                if (code < 0x80)    // 1 byte sequence
  ------------------
  |  Branch (1539:21): [True: 660, False: 2.26k]
  ------------------
 1540|    660|                {
 1541|    660|		    text[0] = static_cast<unsigned char>(code);
 1542|    660|                    text += 1;
 1543|    660|                }
 1544|  2.26k|                else if (code < 0x800)  // 2 byte sequence
  ------------------
  |  Branch (1544:26): [True: 620, False: 1.64k]
  ------------------
 1545|    620|                {
 1546|    620|		    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1547|    620|		    code >>= 6;
 1548|    620|		    text[0] = static_cast<unsigned char>(code | 0xC0);
 1549|    620|                    text += 2;
 1550|    620|                }
 1551|  1.64k|	            else if (code < 0x10000)    // 3 byte sequence
  ------------------
  |  Branch (1551:23): [True: 1.64k, False: 0]
  ------------------
 1552|  1.64k|                {
 1553|  1.64k|		    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1554|  1.64k|		    code >>= 6;
 1555|  1.64k|		    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1556|  1.64k|		    code >>= 6;
 1557|  1.64k|		    text[0] = static_cast<unsigned char>(code | 0xE0);
 1558|  1.64k|                    text += 3;
 1559|  1.64k|                }
 1560|      0|	            else if (code < 0x110000)   // 4 byte sequence
  ------------------
  |  Branch (1560:23): [True: 0, False: 0]
  ------------------
 1561|      0|                {
 1562|      0|		    text[3] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1563|      0|		    code >>= 6;
 1564|      0|		    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1565|      0|		    code >>= 6;
 1566|      0|		    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF);
 1567|      0|		    code >>= 6;
 1568|      0|		    text[0] = static_cast<unsigned char>(code | 0xF0);
 1569|      0|                    text += 4;
 1570|      0|                }
 1571|      0|                else    // Invalid, only codes up to 0x10FFFF are allowed in Unicode
 1572|      0|                {
 1573|      0|                    RAPIDXML_PARSE_ERROR
  ------------------
  |  |   60|      0|#define RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1574|      0|		      (("invalid numeric character entity: "
 1575|      0|			+ std::to_string(code)).c_str(), 0);
 1576|      0|                }
 1577|  2.92k|            }
 1578|  2.92k|        }
_ZN2Wt8rapidxml11parse_errorC2EPKcPv:
   84|   140k|            : m_what(what)
   85|   140k|            , m_where(location)
   86|   140k|        {
   87|   140k|        }
_ZN2Wt8rapidxml12xml_documentIcE15copy_check_utf8ERPKcRPc:
 1581|  1.31M|        {
 1582|       |	    // skip entire UTF-8 encoded characters at once,
 1583|       |	    // checking their validity based on
 1584|       |	    // http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/character-encoding.html (5.9.4 column 3)
 1585|       |
 1586|  1.31M|	    unsigned length = 1;
 1587|  1.31M|	    bool legal = false;
 1588|  1.31M|	    if ((unsigned char)src[0] <= 0x7F) {
  ------------------
  |  Branch (1588:10): [True: 1.23M, False: 84.7k]
  ------------------
 1589|  1.23M|	      unsigned char c = src[0];
 1590|  1.23M|	      if (c == 0x09 || c == 0x0A || c == 0x0D || c >= 0x20)
  ------------------
  |  Branch (1590:12): [True: 928, False: 1.22M]
  |  Branch (1590:25): [True: 3.96k, False: 1.22M]
  |  Branch (1590:38): [True: 2.02k, False: 1.22M]
  |  Branch (1590:51): [True: 1.16M, False: 58.9k]
  ------------------
 1591|  1.17M|		legal = true;
 1592|  1.23M|	    } else if ((unsigned char)src[0] >= 0xF0) {
  ------------------
  |  Branch (1592:17): [True: 24.4k, False: 60.3k]
  ------------------
 1593|  24.4k|	      length = 4;
 1594|       |
 1595|  24.4k|	      if ((
 1596|       |		   // F0 90-BF 80-BF 80-BF
 1597|  24.4k|		   ((unsigned char)src[0] == 0xF0) && 
  ------------------
  |  Branch (1597:6): [True: 3.83k, False: 20.5k]
  ------------------
 1598|  3.83k|		   (0x90 <= (unsigned char)src[1] && 
  ------------------
  |  Branch (1598:7): [True: 3.03k, False: 802]
  ------------------
 1599|  3.03k|		    (unsigned char)src[1] <= 0xBF) && 
  ------------------
  |  Branch (1599:7): [True: 2.18k, False: 848]
  ------------------
 1600|  2.18k|		   (0x80 <= (unsigned char)src[2] &&
  ------------------
  |  Branch (1600:7): [True: 1.72k, False: 458]
  ------------------
 1601|  1.72k|		    (unsigned char)src[2] <= 0xBF) &&
  ------------------
  |  Branch (1601:7): [True: 1.26k, False: 462]
  ------------------
 1602|  1.26k|		   (0x80 <= (unsigned char)src[3] && 
  ------------------
  |  Branch (1602:7): [True: 932, False: 332]
  ------------------
 1603|    932|		    (unsigned char)src[3] <= 0xBF)
  ------------------
  |  Branch (1603:7): [True: 530, False: 402]
  ------------------
 1604|  24.4k|		   ) ||
 1605|  23.8k|		  (
 1606|       |		   // F1-F3 80-BF 80-BF 80-BF
 1607|  23.8k|		   (0xF1 <= (unsigned char)src[0] &&
  ------------------
  |  Branch (1607:7): [True: 20.5k, False: 3.30k]
  ------------------
 1608|  20.5k|		    (unsigned char)src[0] <= 0xF3) &&
  ------------------
  |  Branch (1608:7): [True: 4.98k, False: 15.5k]
  ------------------
 1609|  4.98k|		   (0x80 <= (unsigned char)src[1] &&
  ------------------
  |  Branch (1609:7): [True: 4.37k, False: 602]
  ------------------
 1610|  4.37k|		    (unsigned char)src[1] <= 0xBF) &&
  ------------------
  |  Branch (1610:7): [True: 2.61k, False: 1.76k]
  ------------------
 1611|  2.61k|		   (0x80 <= (unsigned char)src[2] &&
  ------------------
  |  Branch (1611:7): [True: 1.78k, False: 830]
  ------------------
 1612|  1.78k|		    (unsigned char)src[2] <= 0xBF) &&
  ------------------
  |  Branch (1612:7): [True: 1.49k, False: 288]
  ------------------
 1613|  1.49k|		   (0x80 <= (unsigned char)src[3] &&
  ------------------
  |  Branch (1613:7): [True: 598, False: 896]
  ------------------
 1614|    598|		    (unsigned char)src[3] <= 0xBF)
  ------------------
  |  Branch (1614:7): [True: 376, False: 222]
  ------------------
 1615|  23.8k|		   ))
 1616|    906|		legal = true;
 1617|       |
 1618|  60.3k|	    } else if ((unsigned char)src[0] >= 0xE0) {
  ------------------
  |  Branch (1618:17): [True: 12.7k, False: 47.6k]
  ------------------
 1619|  12.7k|	      length = 3;
 1620|       |	      
 1621|  12.7k|	      if ((
 1622|       |		   // E0 A0*-BF 80-BF
 1623|  12.7k|		   ((unsigned char)src[0] == 0xE0) &&
  ------------------
  |  Branch (1623:6): [True: 2.24k, False: 10.5k]
  ------------------
 1624|  2.24k|		   (0xA0 <= (unsigned char)src[1] &&
  ------------------
  |  Branch (1624:7): [True: 1.89k, False: 344]
  ------------------
 1625|  1.89k|		    (unsigned char)src[1] <= 0xBF) &&
  ------------------
  |  Branch (1625:7): [True: 1.12k, False: 774]
  ------------------
 1626|  1.12k|		   (0x80 <= (unsigned char)src[2] &&
  ------------------
  |  Branch (1626:7): [True: 882, False: 242]
  ------------------
 1627|    882|		    (unsigned char)src[2] <= 0xBF)
  ------------------
  |  Branch (1627:7): [True: 504, False: 378]
  ------------------
 1628|  12.7k|		   ) ||
 1629|  12.2k|		  (
 1630|       |		   // E1-EF 80-BF 80-BF
 1631|  12.2k|		   (0xE1 <= (unsigned char)src[0] &&
  ------------------
  |  Branch (1631:7): [True: 10.5k, False: 1.73k]
  ------------------
 1632|  10.5k|		    (unsigned char)src[0] <= 0xF1) &&
  ------------------
  |  Branch (1632:7): [True: 10.5k, False: 0]
  ------------------
 1633|  10.5k|		   (0x80 <= (unsigned char)src[1] &&
  ------------------
  |  Branch (1633:7): [True: 9.82k, False: 676]
  ------------------
 1634|  9.82k|		    (unsigned char)src[1] <= 0xBF) &&
  ------------------
  |  Branch (1634:7): [True: 2.25k, False: 7.57k]
  ------------------
 1635|  2.25k|		   (0x80 <= (unsigned char)src[2] &&
  ------------------
  |  Branch (1635:7): [True: 1.86k, False: 382]
  ------------------
 1636|  1.86k|		    (unsigned char)src[2] <= 0xBF)
  ------------------
  |  Branch (1636:7): [True: 924, False: 944]
  ------------------
 1637|  12.2k|		   ))
 1638|  1.42k|		legal = true;
 1639|       |
 1640|  47.6k|	    } else if ((unsigned char)src[0] >= 0xC0) {
  ------------------
  |  Branch (1640:17): [True: 12.5k, False: 35.1k]
  ------------------
 1641|  12.5k|	      length = 2;
 1642|       |
 1643|  12.5k|	      if (
 1644|       |		  // C2-DF 80-BF
 1645|  12.5k|		  (0xC2 <= (unsigned char)src[0] &&
  ------------------
  |  Branch (1645:6): [True: 11.9k, False: 540]
  ------------------
 1646|  11.9k|		   (unsigned char)src[0] <= 0xDF) &&
  ------------------
  |  Branch (1646:6): [True: 11.9k, False: 0]
  ------------------
 1647|  11.9k|		  (0x80 <= (unsigned char)src[1] &&
  ------------------
  |  Branch (1647:6): [True: 10.4k, False: 1.53k]
  ------------------
 1648|  10.4k|		   (unsigned char)src[1] <= 0xBF)
  ------------------
  |  Branch (1648:6): [True: 956, False: 9.48k]
  ------------------
 1649|  12.5k|		  )
 1650|    956|		legal = true;
 1651|  12.5k|	    }
 1652|       |
 1653|  1.31M|	    if (legal) {
  ------------------
  |  Branch (1653:10): [True: 1.17M, False: 140k]
  ------------------
 1654|  1.17M|	      if (dest) {
  ------------------
  |  Branch (1654:12): [True: 0, False: 1.17M]
  ------------------
 1655|      0|		if (length == 3) {
  ------------------
  |  Branch (1655:7): [True: 0, False: 0]
  ------------------
 1656|       |		  /*
 1657|       |		    U+2028 and U+2029 may cause problems, they are line
 1658|       |		    separators that mess up JavaScript string literals.
 1659|       |		    We will replace them here by '\n'.
 1660|       |		   */
 1661|      0|		  if ((unsigned char)src[0] == 0xe2 &&
  ------------------
  |  Branch (1661:9): [True: 0, False: 0]
  ------------------
 1662|      0|		      (unsigned char)src[1] == 0x80 &&
  ------------------
  |  Branch (1662:9): [True: 0, False: 0]
  ------------------
 1663|      0|		      ((unsigned char)src[2] == 0xa8 ||
  ------------------
  |  Branch (1663:10): [True: 0, False: 0]
  ------------------
 1664|      0|		       (unsigned char)src[2] == 0xa9)) {
  ------------------
  |  Branch (1664:10): [True: 0, False: 0]
  ------------------
 1665|      0|		    *dest++ = '\n';
 1666|      0|		    src += length;
 1667|      0|		  } else
 1668|      0|		    for (unsigned i = 0; i < length; ++i)
  ------------------
  |  Branch (1668:28): [True: 0, False: 0]
  ------------------
 1669|      0|		      *dest++ = *src++;
 1670|      0|		} else
 1671|      0|		  for (unsigned i = 0; i < length; ++i)
  ------------------
  |  Branch (1671:26): [True: 0, False: 0]
  ------------------
 1672|      0|		    *dest++ = *src++;
 1673|      0|	      } else
 1674|  1.17M|		src += length;
 1675|  1.17M|	    } else {
 1676|   140k|	      if (dest)
  ------------------
  |  Branch (1676:12): [True: 0, False: 140k]
  ------------------
 1677|      0|		if (length >= 3) {
  ------------------
  |  Branch (1677:7): [True: 0, False: 0]
  ------------------
 1678|       |		  /* insert U+FFFD, the replacement character */
 1679|      0|		  *dest++ = (Ch)0xef;
 1680|      0|		  *dest++ = (Ch)0xbf;
 1681|      0|		  *dest++ = (Ch)0xbd;
 1682|      0|		  src += length;
 1683|      0|		} else
 1684|      0|		  for (unsigned i = 0; i < length; ++i) {
  ------------------
  |  Branch (1684:26): [True: 0, False: 0]
  ------------------
 1685|      0|		    *dest++ = '?';
 1686|      0|		    src++;
 1687|      0|		  }
 1688|   140k|	      else {
 1689|   140k|                const Ch *problem_src = src;
 1690|   140k|                src += length;
 1691|   140k|		RAPIDXML_PARSE_ERROR("Invalid UTF-8 sequence",
  ------------------
  |  |   60|   140k|#define RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1692|   140k|				     const_cast<Ch *>(problem_src));
 1693|   140k|              }
 1694|   140k|	    }
 1695|  1.31M|	}

DomElement.C:_ZN12_GLOBAL__N_117createCssNamesMapB5cxx11Ev:
  117|      2|{
  118|      2|  CssPropertyMap cssNames;
  119|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePosition, std::string("position"));
  120|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleZIndex,std::string("z-index"));
  121|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFloat,std::string("float"));
  122|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleClear,std::string("clear"));
  123|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWidth,std::string("width"));
  124|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleHeight,std::string("height"));
  125|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleLineHeight,std::string("line-height"));
  126|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMinWidth,std::string("min-width"));
  127|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMinHeight,std::string("min-height"));
  128|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMaxWidth,std::string("max-width"));
  129|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMaxHeight,std::string("max-height"));
  130|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleLeft,std::string("left"));
  131|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleRight,std::string("right"));
  132|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTop,std::string("top"));
  133|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBottom,std::string("bottom"));
  134|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInline,std::string("inset-inline"));
  135|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInlineStart,std::string("inset-inline-start"));
  136|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInlineEnd,std::string("inset-inline-end"));
  137|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlock,std::string("inset-block"));
  138|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlockStart,std::string("inset-block-start"));
  139|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlockEnd,std::string("inset-block-end"));
  140|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleVerticalAlign,std::string("vertical-align"));
  141|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTextAlign,std::string("text-align"));
  142|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePadding,std::string("padding"));
  143|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingTop,std::string("padding-top"));
  144|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingRight,std::string("padding-right"));
  145|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBottom,std::string("padding-bottom"));
  146|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingLeft,std::string("padding-left"));
  147|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInline,std::string("padding-inline"));
  148|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInlineStart,std::string("padding-inline-start"));
  149|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInlineEnd,std::string("padding-inline-end"));
  150|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlock,std::string("padding-block"));
  151|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlockStart,std::string("padding-block-start"));
  152|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlockEnd,std::string("padding-block-end"));
  153|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMargin,std::string("margin"));
  154|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginTop,std::string("margin-top"));
  155|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginRight,std::string("margin-right"));
  156|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBottom,std::string("margin-bottom"));
  157|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginLeft,std::string("margin-left"));
  158|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInline,std::string("margin-inline"));
  159|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInlineStart,std::string("margin-inline-start"));
  160|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInlineEnd,std::string("margin-inline-end"));
  161|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlock,std::string("margin-block"));
  162|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlockStart,std::string("margin-block-start"));
  163|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlockEnd,std::string("margin-block-end"));
  164|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleCursor,std::string("cursor"));
  165|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderTop,std::string("border-top"));
  166|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderRight,std::string("border-right"));
  167|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBottom,std::string("border-bottom"));
  168|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderLeft,std::string("border-left"));
  169|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInline,std::string("border-inline"));
  170|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStart,std::string("border-inline-start"));
  171|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEnd,std::string("border-inline-end"));
  172|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlock,std::string("border-block"));
  173|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStart,std::string("border-block-start"));
  174|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEnd,std::string("border-block-end"));
  175|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorTop,std::string("border-color-top"));
  176|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorRight,std::string("border-color-right"));
  177|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorBottom,std::string("border-color-bottom"));
  178|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorLeft,std::string("border-color-left"));
  179|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineColor,std::string("border-inline-color"));
  180|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStartColor,std::string("border-inline-start-color"));
  181|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEndColor,std::string("border-inline-end-color"));
  182|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockColor,std::string("border-block-color"));
  183|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStartColor,std::string("border-block-start-color"));
  184|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEndColor,std::string("border-block-end-color"));
  185|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthTop,std::string("border-width-top"));
  186|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthRight,std::string("border-width-right"));
  187|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthBottom,std::string("border-width-bottom"));
  188|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthLeft,std::string("border-width-left"));
  189|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineWidth,std::string("border-inline-width"));
  190|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStartWidth,std::string("border-inline-start-width"));
  191|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEndWidth,std::string("border-inline-end-width"));
  192|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockWidth,std::string("border-block-width"));
  193|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStartWidth,std::string("border-block-start-width"));
  194|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEndWidth,std::string("border-block-end-width"));
  195|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleColor,std::string("color"));
  196|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOverflowX,std::string("overflow-x"));
  197|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOverflowY,std::string("overflow-y"));
  198|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOpacity,std::string("opacity"));
  199|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontFamily,std::string("font-family"));
  200|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontStyle,std::string("font-style"));
  201|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontVariant,std::string("font-variant"));
  202|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontWeight,std::string("font-weight"));
  203|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontSize,std::string("font-size"));
  204|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundColor,std::string("background-color"));
  205|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundImage,std::string("background-image"));
  206|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundRepeat,std::string("background-repeat"));
  207|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundAttachment,std::string("background-attachment"));
  208|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundPosition,std::string("background-position"));
  209|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTextDecoration,std::string("text-decoration"));
  210|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWhiteSpace,std::string("white-space"));
  211|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTableLayout,std::string("table-layout"));
  212|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderSpacing,std::string("border-spacing"));
  213|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderCollapse,std::string("border-collapse"));
  214|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePageBreakBefore,std::string("page-break-before"));
  215|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePageBreakAfter,std::string("page-break-after"));
  216|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleZoom,std::string("zoom"));
  217|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleVisibility,std::string("visibility"));
  218|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleDisplay,std::string("display"));
  219|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWebkitAppearance,std::string("-webkit-appearance"));
  220|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBoxSizing,std::string("box-sizing"));
  221|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlex,std::string("flex"));
  222|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlexDirection,std::string("flex-direction"));
  223|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlexFlow,std::string("flex-flow"));
  224|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleAlignSelf,std::string("align-self"));
  225|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleAnchorName,std::string("anchor-name"));
  226|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionAnchor,std::string("position-anchor"));
  227|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionArea,std::string("position-area"));
  228|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionTryFallbacks,std::string("position-try-fallbacks"));
  229|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleJustifyContent,std::string("justify-content"));
  230|      2|  return cssNames;
  231|      2|}
DomElement.C:_ZN12_GLOBAL__N_122createCssCamelNamesMapB5cxx11Ev:
  236|      2|{
  237|      2|  CssPropertyMap cssCamelNames;
  238|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::Style,std::string("cssText"));
  239|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePosition,std::string("position"));
  240|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleZIndex,std::string("zIndex"));
  241|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFloat,std::string("cssFloat"));
  242|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleClear,std::string("clear"));
  243|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWidth,std::string("width"));
  244|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleHeight,std::string("height"));
  245|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleLineHeight,std::string("lineHeight"));
  246|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMinWidth,std::string("minWidth"));
  247|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMinHeight,std::string("minHeight"));
  248|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMaxWidth,std::string("maxWidth"));
  249|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMaxHeight,std::string("maxHeight"));
  250|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleLeft,std::string("left"));
  251|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleRight,std::string("right"));
  252|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTop,std::string("top"));
  253|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBottom,std::string("bottom"));
  254|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInline,std::string("insetInline"));
  255|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInlineStart,std::string("insetInlineStart"));
  256|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInlineEnd,std::string("insetInlineEnd"));
  257|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlock,std::string("insetBlock"));
  258|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlockStart,std::string("insetBlockStart"));
  259|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlockEnd,std::string("insetBlockEnd"));
  260|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleVerticalAlign,std::string("verticalAlign"));
  261|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTextAlign,std::string("textAlign"));
  262|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePadding,std::string("padding"));
  263|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingTop,std::string("paddingTop"));
  264|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingRight,std::string("paddingRight"));
  265|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBottom,std::string("paddingBottom"));
  266|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingLeft,std::string("paddingLeft"));
  267|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInline,std::string("paddingInline"));
  268|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInlineStart,std::string("paddingInlineStart"));
  269|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInlineEnd,std::string("paddingInlineEnd"));
  270|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlock,std::string("paddingBlock"));
  271|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlockStart,std::string("paddingBlockStart"));
  272|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlockEnd,std::string("paddingBlockEnd"));
  273|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMargin,std::string("margin"));
  274|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginTop,std::string("marginTop"));
  275|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginRight,std::string("marginRight"));
  276|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBottom,std::string("marginBottom"));
  277|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginLeft,std::string("marginLeft"));
  278|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInline,std::string("marginInline"));
  279|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInlineStart,std::string("marginInlineStart"));
  280|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInlineEnd,std::string("marginInlineEnd"));
  281|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlock,std::string("marginBlock"));
  282|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlockStart,std::string("marginBlockStart"));
  283|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlockEnd,std::string("marginBlockEnd"));
  284|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleCursor,std::string("cursor"));
  285|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderTop,std::string("borderTop"));
  286|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderRight,std::string("borderRight"));
  287|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBottom,std::string("borderBottom"));
  288|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderLeft,std::string("borderLeft"));
  289|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInline,std::string("borderInline"));
  290|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStart,std::string("borderInlineStart"));
  291|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEnd,std::string("borderInlineEnd"));
  292|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlock,std::string("borderBlock"));
  293|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStart,std::string("borderBlockStart"));
  294|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEnd,std::string("borderBlockEnd"));
  295|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorTop,std::string("borderColorTop"));
  296|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorRight,std::string("borderColorRight"));
  297|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorBottom,std::string("borderColorBottom"));
  298|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorLeft,std::string("borderColorLeft"));
  299|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineColor,std::string("borderInlineColor"));
  300|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStartColor,std::string("borderInlineStartColor"));
  301|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEndColor,std::string("borderInlineEndColor"));
  302|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockColor,std::string("borderBlockColor"));
  303|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStartColor,std::string("borderBlockStartColor"));
  304|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEndColor,std::string("borderBlockEndColor"));
  305|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthTop,std::string("borderWidthTop"));
  306|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthRight,std::string("borderWidthRight"));
  307|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthBottom,std::string("borderWidthBottom"));
  308|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthLeft,std::string("borderWidthLeft"));
  309|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineWidth,std::string("borderInlineWidth"));
  310|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStartWidth,std::string("borderInlineStartWidth"));
  311|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEndWidth,std::string("borderInlineEndWidth"));
  312|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockWidth,std::string("borderBlockWidth"));
  313|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStartWidth,std::string("borderBlockStartWidth"));
  314|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEndWidth,std::string("borderBlockEndWidth"));
  315|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleColor,std::string("color"));
  316|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOverflowX,std::string("overflowX"));
  317|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOverflowY,std::string("overflowY"));
  318|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOpacity,std::string("opacity"));
  319|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontFamily,std::string("fontFamily"));
  320|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontStyle,std::string("fontStyle"));
  321|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontVariant,std::string("fontVariant"));
  322|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontWeight,std::string("fontWeight"));
  323|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontSize,std::string("fontSize"));
  324|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundColor,std::string("backgroundColor"));
  325|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundImage,std::string("backgroundImage"));
  326|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundRepeat,std::string("backgroundRepeat"));
  327|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundAttachment,std::string("backgroundAttachment"));
  328|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundPosition,std::string("backgroundPosition"));
  329|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTextDecoration,std::string("textDecoration"));
  330|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWhiteSpace,std::string("whiteSpace"));
  331|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTableLayout,std::string("tableLayout"));
  332|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderSpacing,std::string("borderSpacing"));
  333|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderCollapse,std::string("border-collapse"));
  334|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePageBreakBefore,std::string("pageBreakBefore"));
  335|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePageBreakAfter,std::string("pageBreakAfter"));
  336|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleZoom,std::string("zoom"));
  337|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleVisibility,std::string("visibility"));
  338|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleDisplay,std::string("display"));
  339|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWebkitAppearance,std::string("webKitAppearance"));
  340|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBoxSizing,std::string("boxSizing"));
  341|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlex,std::string("flex"));
  342|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlexDirection,std::string("flexDirection"));
  343|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlexFlow,std::string("flexFlow"));
  344|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleAlignSelf,std::string("alignSelf"));
  345|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleAnchorName,std::string("anchorName"));
  346|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionAnchor,std::string("positionAnchor"));
  347|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionArea,std::string("positionArea"));
  348|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionTryFallbacks,std::string("positionTryFallbacks"));
  349|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleJustifyContent,std::string("justifyContent"));
  350|      2|  return cssCamelNames;
  351|      2|}

_ZN2Wt5Utils6insertINS_8PropertyENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRSt13unordered_mapIT_T0_St4hashISA_ESt8equal_toISA_ESaISt4pairIKSA_SB_EEERSH_RKSB_:
  260|    446|{
  261|    446|#ifndef WT_TARGET_JAVA
  262|    446|  m.insert(std::make_pair(key, value));
  263|    446|#endif // WT_TARGET_JAVA
  264|    446|}

