1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
This commit is contained in:
stefanocasazza 2019-03-12 15:51:52 +01:00
parent f8a2d7b3a4
commit 4b4ee22cff
13 changed files with 1928 additions and 226 deletions

View File

@ -927,24 +927,27 @@ private:
*/
class UVectorStringIter { // this class is to make work Range-based for loop: for ( UString x : UVector<UString> ) loop_statement
public:
explicit UVectorStringIter(const UVector<UString>* p_vec, uint32_t pos) : _pos(pos), _p_vec(p_vec) {}
explicit UVectorStringIter(UVector<UString>* p_vec, uint32_t pos) : _pos(pos), _p_vec(p_vec) {}
// these three methods form the basis of an iterator for use with a range-based for loop
bool operator==(const UVectorStringIter& other) const { return (_pos == other._pos); }
bool operator!=(const UVectorStringIter& other) const { return (_pos != other._pos); }
// this method must be defined after the definition of UVector<UString> since it needs to use it
inline UString operator*() const;
const UVectorStringIter& operator++()
UVectorStringIter& operator++()
{
++_pos;
return *this; // although not strictly necessary for a range-based for loop following the normal convention of returning a value from operator++ is a good idea
}
inline UVectorStringIter& erase();
private:
uint32_t _pos;
const UVector<UString>* _p_vec;
UVector<UString>* _p_vec;
};
#endif
@ -974,8 +977,10 @@ public:
}
#if defined(U_STDCPP_ENABLE) && defined(HAVE_CXX11)
UVectorStringIter begin() const { return UVectorStringIter(this, 0); }
UVectorStringIter end() const { return UVectorStringIter(this, _length); }
UVectorStringIter begin() { return UVectorStringIter(this, 0); }
UVectorStringIter end() { return UVectorStringIter(this, _length); }
UVectorStringIter& erase(UVectorStringIter& it) { return it.erase(); }
# ifdef U_COMPILER_RANGE_FOR
explicit UVector(const std::initializer_list<UString>& l) : UVector<UStringRep*>(l.size())
@ -1356,5 +1361,7 @@ private:
#if defined(U_STDCPP_ENABLE) && defined(HAVE_CXX11)
inline UString UVectorStringIter::operator* () const { return _p_vec->at(_pos); }
inline UVectorStringIter& UVectorStringIter::erase() { _p_vec->erase(_pos); return *this; }
#endif
#endif

View File

@ -319,9 +319,6 @@ private:
// U_DISALLOW_COPY_AND_ASSIGN(UClient_Base)
static USocket* csocket;
static vPFu resize_response_buffer;
void setForResizeResponseBuffer(vPFu func) { csocket = socket; resize_response_buffer = func; }
friend class UHTTP;
friend class USocketExt;

View File

@ -787,11 +787,6 @@ public:
(withPayloads ? U_CONSTANT_SIZE("WITHPAYLOADS") : 0), "WITHPAYLOADS"));
}
// PUB/SUB (@see http://redis.io/pubsub)
bool unsubscribe(const UString& channel); // unregister the callback for messages published to the given channels
bool subscribe(const UString& channel, vPFcscs callback); // register the callback for messages published to the given channels
// define method VIRTUAL of class UEventFd
virtual int handlerRead() U_DECL_FINAL;
@ -805,16 +800,6 @@ public:
UEventFd::fd = -1;
}
void listenForEvents()
{
U_TRACE_NO_PARAM(0, "UREDISClient_Base::listenForEvents()")
UEventFd::op_mask |= EPOLLET;
UEventFd::op_mask &= ~EPOLLRDHUP;
UNotifier::insert(this, EPOLLEXCLUSIVE | EPOLLROUNDROBIN); // NB: we ask to listen for events to a Redis publish channel...
}
#if defined(U_STDCPP_ENABLE) && defined(DEBUG)
const char* dump(bool reset) const;
#endif
@ -826,6 +811,7 @@ protected:
static ptrdiff_t diff;
static UVector<UString>* pvec;
static UREDISClient_Base* pthis;
static UHashMap<void*>* pchannelCallbackMap;
UREDISClient_Base() : UClient_Base(U_NULLPTR)
@ -983,10 +969,11 @@ private:
class U_EXPORT UREDISClusterClient : public UREDISClient<UTCPSocket> {
private:
struct RedisNode {
UString ipAddress;
UREDISClient<UTCPSocket> client;
uint16_t lowHashSlot, highHashSlot;
uint16_t port, lowHashSlot, highHashSlot;
};
enum class ClusterError : uint8_t {
@ -999,6 +986,7 @@ private:
ClusterError error;
UString temporaryASKip;
std::vector<RedisNode> redisNodes;
UREDISClient<UTCPSocket> subscriptionClient;
uint16_t hashslotForKey(const UString& hashableKey) { return u_crc16(U_STRING_TO_PARAM(hashableKey)); }
@ -1052,7 +1040,9 @@ public:
void processResponse();
void calculateNodeMap();
const UVector<UString>& processPipeline(UString& pipeline, bool silence);
bool connect(const char* host = U_NULLPTR, unsigned int _port = 6379);
const UVector<UString>& processPipeline(UString& pipeline, bool silence, bool reorderable);
// all of these multis require all keys to exist within a single hash slot (on the same node isn't good enough)
@ -1062,13 +1052,17 @@ public:
void clusterSilencedMulti( const UString& hashableKey, UString& pipeline) { clientForHashableKey(hashableKey).silencedMulti(pipeline); }
void clusterSilencedSingle(const UString& hashableKey, UString& pipeline) { clientForHashableKey(hashableKey).silencedSingle(pipeline); }
// anon multis are pipelined commands of various keys that might belong to many nodes. always processed in order. commands always delimined by \r\n
// anon multis are pipelined commands of various keys that might belong to many nodes. always processed in order. Commands always delimined by \r\n
// example -> SET {abc}xyz 5 \r\n GET abc{xyz} \r\n SET xyz{abc} 9 \r\n
// if "abc" and "xyz" reside on different hashslots, if reorderable = false, this will generate 3 seperate pushes. if reorderable = true, only 2.
// currently supports CLIENT REPLY _____ type directives.... but any other commands without keys like {abc}, will break.
// if you wrap commands in CLIENT REPLY ____ directives and they DO NOT belong to the same hashslot, THESE WRITES WILL BREAK
const UVector<UString>& clusterAnonMulti( UString& pipeline) { return processPipeline(pipeline, false); }
void clusterSilencedAnonMulti(UString& pipeline) { (void) processPipeline(pipeline, true); }
const UVector<UString>& clusterAnonMulti( UString& pipeline, bool reorderable) { return processPipeline(pipeline, false, reorderable); }
void clusterSilencedAnonMulti(UString& pipeline, bool reorderable) { (void) processPipeline(pipeline, true, reorderable); }
bool clusterUnsubscribe(const UString& hashableKey, const UString& channel) { return clientForHashableKey(hashableKey).unsubscribe(channel); }
bool clusterSubscribe( const UString& hashableKey, const UString& channel, vPFcscs callback) { return clientForHashableKey(hashableKey).subscribe(channel, callback); }
bool clusterUnsubscribe(const UString& channel);
bool clusterSubscribe( const UString& channel, vPFcscs callback);
// DEBUG

View File

@ -714,9 +714,9 @@ public:
#ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE)
typedef UString (*strPF)();
static bool sse_auth;
static strPF sse_func;
static int sse_pipe_fd;
static bool sse_auth, sse_req;
static const char* sse_corsbase;
static bool isValidationSSE();

View File

@ -16,7 +16,6 @@
#include <ulib/net/server/server.h>
int UClient_Base::queue_fd = -1;
vPFu UClient_Base::resize_response_buffer;
bool UClient_Base::bIPv6;
bool UClient_Base::log_shared_with_server;
ULog* UClient_Base::log;

View File

@ -46,7 +46,7 @@ void UREDISClient_Base::init()
UClient_Base::reserve(UString::_getReserveNeed());
UClient_Base::setForResizeResponseBuffer(manageResponseBufferResize);
UClient_Base::csocket = socket;
}
bool UREDISClient_Base::connect(const char* phost, unsigned int _port)
@ -543,46 +543,6 @@ bool UREDISClient_Base::deleteKeys(const char* pattern, uint32_t len) // Delete
U_RETURN(true);
}
// PUB/SUB (@see http://redis.io/pubsub)
bool UREDISClient_Base::unsubscribe(const UString& channel) // unregister the callback for messages published to the given channels
{
U_TRACE(0, "UREDISClient_Base::unsubscribe(%V)", channel.rep)
if (processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("UNSUBSCRIBE"), U_STRING_TO_PARAM(channel)))
{
if (pchannelCallbackMap == U_NULLPTR)
{
U_NEW(UHashMap<void*>, pchannelCallbackMap, UHashMap<void*>);
}
(void) pchannelCallbackMap->erase(channel);
U_RETURN(true);
}
U_RETURN(false);
}
bool UREDISClient_Base::subscribe(const UString& channel, vPFcscs callback) // register the callback for messages published to the given channels
{
U_TRACE(0, "UREDISClient_Base::subscribe(%V,%p)", channel.rep, callback)
if (processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("SUBSCRIBE"), U_STRING_TO_PARAM(channel)))
{
if (pchannelCallbackMap == U_NULLPTR)
{
U_NEW(UHashMap<void*>, pchannelCallbackMap, UHashMap<void*>);
}
pchannelCallbackMap->insert(channel, (const void*)callback);
U_RETURN(true);
}
U_RETURN(false);
}
// define method VIRTUAL of class UEventFd
int UREDISClient_Base::handlerRead()
@ -622,120 +582,6 @@ int UREDISClient_Base::handlerRead()
// by Victor Stewart
# if defined(HAVE_CXX17)
void UREDISClusterClient::processResponse()
{
U_TRACE_NO_PARAM(0, "UREDISClusterClient::processResponse()")
if (UClient_Base::response.find("MOVED", 0, 5) != U_NOT_FOUND)
{
// MOVED 3999 127.0.0.1:6381 => the hashslot has been moved to another master node
error = ClusterError::moved;
calculateNodeMap();
}
else if (UClient_Base::response.find("ASK", 0, 3) != U_NOT_FOUND)
{
// ASK 3999 127.0.0.1:6381 => this means that one of the hash slots is being migrated to another server
error = ClusterError::ask;
uint32_t _start = UClient_Base::response.find(' ', 8) + 1,
end = UClient_Base::response.find(':', _start);
(void) temporaryASKip.assign(UClient_Base::response.substr(_start, end - _start));
}
else if (UClient_Base::response.find("TRYAGAIN", 0, 8) != U_NOT_FOUND)
{
/**
* during a resharding the multi-key operations targeting keys that all exist and are all still in the same node (either the source or destination node) are still available.
* Operations on keys that don't exist or are - during the resharding - split between the source and destination nodes, will generate a -TRYAGAIN error. The client can try
* the operation after some time, or report back the error. As soon as migration of the specified hash slot has terminated, all multi-key operations are available again for
* that hash slot
*/
error = ClusterError::tryagain;
UTimeVal(0L, 1000L).nanosleep(); // 0 sec, 1000 microsec = 1ms
}
else
{
error = ClusterError::none;
UREDISClient<UTCPSocket>::processResponse();
}
}
const UVector<UString>& UREDISClusterClient::processPipeline(UString& pipeline, bool silence)
{
U_TRACE(0, "UREDISClusterClient::processPipeline(%V,%b)", pipeline.rep, silence)
uint16_t hashslot = 0, workingHashslot;
UString command, workingString(U_CAPACITY);
UVector<UString> commands(pipeline, "\r\n");
for (uint32_t count = 0, index = 0, n = commands.size(); index < n; ++index)
{
command = commands[index];
workingHashslot = hashslotFromCommand(command);
if (workingHashslot == hashslot)
{
(void) workingString.append(command + "\r\n");
++count;
if ((index + 1) < n) continue;
}
hashslot = workingHashslot;
if (silence)
{
if (count > 1)
{
(void) workingString.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY OFF \r\n"));
(void) workingString.append(U_CONSTANT_TO_PARAM("CLIENT REPLY ON \r\n"));
}
else
{
(void) pipeline.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY SKIP \r\n"));
}
}
UREDISClient<UTCPSocket>& client = clientForHashslot(hashslot);
replay:
(void) client.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString));
switch (error)
{
case ClusterError::moved:
case ClusterError::tryagain:
{
goto replay;
}
break;
case ClusterError::ask:
{
UREDISClient<UTCPSocket>& temporaryClient = clientForASKip();
(void) temporaryClient.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString));
}
break;
case ClusterError::none: break;
}
if (silence == false) vitem.move(client.vitem);
}
return vitem;
}
void UREDISClusterClient::calculateNodeMap()
{
U_TRACE_NO_PARAM(0, "UREDISClusterClient::calculateNodeMap()")
@ -795,11 +641,14 @@ void UREDISClusterClient::calculateNodeMap()
RedisNode workingNode;
workingNode.lowHashSlot = workingLowHashSlot;
workingNode.lowHashSlot = workingLowHashSlot;
workingNode.highHashSlot = workingHighHashSlot;
(void) workingNode.ipAddress.assign(rawNodes[a]);
workingNode.client.connect(workingNode.ipAddress.c_str(), rawNodes[++a].strtoul());
(void) workingNode.ipAddress.replace(rawNodes[a]);
workingNode.port = rawNodes[++a].strtoul();
workingNode.client.connect(workingNode.ipAddress.data(), workingNode.port);
redisNodes.push_back(std::move(workingNode));
@ -807,6 +656,232 @@ void UREDISClusterClient::calculateNodeMap()
}
}
}
bool UREDISClusterClient::connect(const char* host, unsigned int _port)
{
U_TRACE(0, "UREDISClusterClient::connect(%S,%u)", host, _port)
if (UREDISClient<UTCPSocket>::connect(host, _port))
{
calculateNodeMap();
// select random master node to be responsible for SUB/PUB traffic
const RedisNode& node = redisNodes[u_get_num_random_range0(redisNodes.size())];
subscriptionClient.connect(node.ipAddress.data(), node.port);
subscriptionClient.UEventFd::op_mask |= EPOLLET;
subscriptionClient.UEventFd::op_mask &= ~EPOLLRDHUP;
UNotifier::insert(&subscriptionClient, EPOLLEXCLUSIVE | EPOLLROUNDROBIN); // NB: we ask to listen for events to a Redis publish channel...
U_RETURN(true);
}
U_RETURN(false);
}
bool UREDISClusterClient::clusterUnsubscribe(const UString& channel) // unregister the callback for messages published to the given channels
{
U_TRACE(0, "UREDISClusterClient::clusterUnsubscribe(%V)", channel.rep)
if (subscriptionClient.processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("UNSUBSCRIBE"), U_STRING_TO_PARAM(channel)))
{
if (pchannelCallbackMap == U_NULLPTR)
{
U_NEW(UHashMap<void*>, pchannelCallbackMap, UHashMap<void*>);
}
(void) pchannelCallbackMap->erase(channel);
U_RETURN(true);
}
U_RETURN(false);
}
bool UREDISClusterClient::clusterSubscribe(const UString& channel, vPFcscs callback) // register the callback for messages published to the given channels
{
U_TRACE(0, "UREDISClusterClient::clusterSubscribe(%V,%p)", channel.rep, callback)
if (subscriptionClient.processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("SUBSCRIBE"), U_STRING_TO_PARAM(channel)))
{
if (pchannelCallbackMap == U_NULLPTR)
{
U_NEW(UHashMap<void*>, pchannelCallbackMap, UHashMap<void*>);
}
pchannelCallbackMap->insert(channel, (const void*)callback);
U_RETURN(true);
}
U_RETURN(false);
}
void UREDISClusterClient::processResponse()
{
U_TRACE_NO_PARAM(0, "UREDISClusterClient::processResponse()")
if (UClient_Base::response.find("MOVED", 0, 5) != U_NOT_FOUND)
{
// MOVED 3999 127.0.0.1:6381 => the hashslot has been moved to another master node
error = ClusterError::moved;
calculateNodeMap();
}
else if (UClient_Base::response.find("ASK", 0, 3) != U_NOT_FOUND)
{
// ASK 3999 127.0.0.1:6381 => this means that one of the hash slots is being migrated to another server
error = ClusterError::ask;
uint32_t _start = UClient_Base::response.find(' ', 8) + 1,
end = UClient_Base::response.find(':', _start);
(void) temporaryASKip.replace(UClient_Base::response.substr(_start, end - _start));
}
else if (UClient_Base::response.find("TRYAGAIN", 0, 8) != U_NOT_FOUND)
{
/**
* during a resharding the multi-key operations targeting keys that all exist and are all still in the same node (either the source or destination node) are still available.
* Operations on keys that don't exist or are - during the resharding - split between the source and destination nodes, will generate a -TRYAGAIN error. The client can try
* the operation after some time, or report back the error. As soon as migration of the specified hash slot has terminated, all multi-key operations are available again for
* that hash slot
*/
error = ClusterError::tryagain;
UTimeVal(0L, 1000L).nanosleep(); // 0 sec, 1000 microsec = 1ms
}
else
{
error = ClusterError::none;
UREDISClient<UTCPSocket>::processResponse();
}
}
const UVector<UString>& UREDISClusterClient::processPipeline(UString& pipeline, const bool silence, const bool reorderable)
{
U_TRACE(0, "UREDISClusterClient::processPipeline(%V,%b,%b)", pipeline.rep, silence, reorderable)
UString workingString(U_CAPACITY);
UVector<UString> commands(pipeline, "\r\n");
uint16_t hashslot, workingHashslot, count = 0;
auto pushPipeline = [&] (void) -> void {
if (silence)
{
if (count > 1)
{
(void) workingString.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY OFF \r\n"));
(void) workingString.append(U_CONSTANT_TO_PARAM("CLIENT REPLY ON \r\n"));
}
else
{
(void) pipeline.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY SKIP \r\n"));
}
}
UREDISClient<UTCPSocket>& client = clientForHashslot(hashslot);
replay:
(void) client.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString));
switch (error)
{
case ClusterError::moved:
case ClusterError::tryagain:
{
goto replay;
}
break;
case ClusterError::ask:
{
UREDISClient<UTCPSocket>& temporaryClient = clientForASKip();
(void) temporaryClient.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString));
}
break;
case ClusterError::none: break;
}
if (silence == false) vitem.move(client.vitem);
count = 0;
workingString.clear();
};
/*
*/
if (reorderable) {
for (UVectorStringIter it = commands.begin(); it != commands.end(); ) {
if (it == commands.begin()) hashslot = hashslotFromCommand(*it);
while (it != commands.end()) {
const UString& command = *it;
// if (command.find("CLIENT", 0, 6)) goto isADirective;
if (hashslotFromCommand(command) == hashslot)
{
++count;
// goto isADirective;
(void) workingString.append(command + "\r\n");
it = commands.erase(it);
}
else ++it;
}
pushPipeline();
if (commands.size() != 0) it = commands.begin();
}
}
else {
for (uint32_t index = 0, n = commands.size(); index < n; index++)
{
if (index == 0) hashslot = hashslotFromCommand(commands[0]);
UString command = commands[index];
command.trim();
// if (command.find("CLIENT", 0, 6)) goto isADirective;
workingHashslot = hashslotFromCommand(command);
if (workingHashslot == hashslot) {
++count;
// goto isADirective;
(void) workingString.append(command + "\r\n");
if ((index +1) < n) continue;
}
pushPipeline();
hashslot = workingHashslot;
count = 0;
}
}
return vitem;
}
# endif
// DEBUG

View File

@ -13,7 +13,6 @@
#include <ulib/file.h>
#include <ulib/notifier.h>
#include <ulib/net/client/client.h>
#include <ulib/utility/interrupt.h>
#include <ulib/net/server/server.h>
@ -74,7 +73,6 @@ bool USocketExt::read(USocket* sk, UString& buffer, uint32_t count, int timeoutM
if (UNLIKELY(ncount < chunk))
{
if (sk == UServer_Base::csocket) { UClientImage_Base::manageReadBufferResize(chunk); } // start = buffer.size(); }
else if (sk == UClient_Base::csocket) UClient_Base::resize_response_buffer(chunk);
else UString::_reserve(buffer, buffer.getReserveNeed(chunk));
ncount = buffer.space();
@ -200,7 +198,6 @@ error: U_INTERNAL_DUMP("errno = %d", errno)
buffer.rep->_length = start + byte_read;
if (sk == UServer_Base::csocket) { UClientImage_Base::manageReadBufferResize(ncount * 2); } // start = buffer.size(); }
else if (sk == UClient_Base::csocket) UClient_Base::resize_response_buffer(ncount * 2);
else UString::_reserve(buffer, buffer.getReserveNeed(ncount * 2));
ptr = buffer.c_pointer(start);

View File

@ -176,6 +176,7 @@ URDBObjectHandler<UDataStorage*>* UHTTP::db_session_ssl;
#endif
#ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE)
int UHTTP::sse_pipe_fd;
bool UHTTP::sse_req;
bool UHTTP::sse_auth;
const char* UHTTP::sse_corsbase = "*";
UHTTP::strPF UHTTP::sse_func;
@ -7178,11 +7179,13 @@ bool UHTTP::isValidationSSE()
if (sse_auth)
{
// check if it's OK to do directory listing via authentication (digest|basic)
// check if it's OK via authentication (digest|basic)
uint32_t sz;
const char* ptr = UClientImage_Base::getRequestUri(sz);
sse_req = true;
if (processAuthorization(ptr, sz) == false) U_RETURN(false);
}
@ -7854,12 +7857,14 @@ U_NO_EXPORT bool UHTTP::processAuthorization(const char* request, uint32_t sz, c
pos = (request + sz) - uri_suffix;
}
# ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE)
else
else if (sse_req)
{
U_INTERNAL_ASSERT_EQUALS(memcmp(request, U_CONSTANT_TO_PARAM("/sse_event")), 0)
sse_req = false;
if (sz > U_CONSTANT_SIZE("/sse_event/")) // Ex: "/sse_event/tutor"
{
U_INTERNAL_ASSERT_EQUALS(memcmp(request, U_CONSTANT_TO_PARAM("/sse_event/")), 0)
ptr_file_data = getPasswdDB(request+U_CONSTANT_SIZE("/sse_event"), sz-U_CONSTANT_SIZE("/sse_event"), fpasswd);
goto next;

View File

@ -1 +1 @@
04BB
04D1

View File

@ -1,28 +0,0 @@
See http://www.debian.org/ for information about Debian GNU/Linux.
Four Debian releases are available on the main site:
Debian 7.11, or wheezy. Access this release through dists/oldoldstable
Debian 7.11 was released Saturday, 4th June 2016.
Debian 8.11, or jessie. Access this release through dists/oldstable
Debian 8.11 was released Saturday, 23rd June 2018.
Debian 9.8, or stretch. Access this release through dists/stable
Debian 9.8 was released Saturday, 16th February 2019.
Testing, or buster. Access this release through dists/testing. The
current tested development snapshot is named buster. Packages which
have been tested in unstable and passed automated tests propagate to
this release.
Unstable, or sid. Access this release through dists/unstable. The
current development snapshot is named sid. Untested candidate
packages for future releases.
Older releases of Debian are at http://archive.debian.org/debian-archive
--- Other directories:
doc Debian documentation.
indices Various indices of the site.
project Experimental packages and other miscellaneous files.
tools Tools for creating boot disks and booting Linux.

View File

View File

@ -0,0 +1,828 @@
plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
plugin/product.h ../../include/ulib/dynamic/plugin.h \
../../include/ulib/dynamic/dynamic.h ../../include/ulib/string.h \
../../include/ulib/base/hash.h ../../include/ulib/base/xxhash/xxhash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h \
../../include/ulib/base/base.h ../../include/ulib/internal/config.h \
../../include/ulib/internal/platform.h /usr/include/sys/mman.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
/usr/include/bits/mman-shared.h /usr/include/stdio.h \
/usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/bits/libio.h \
/usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
/usr/include/bits/environments.h /usr/include/bits/confname.h \
/usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \
/usr/include/bits/unistd.h /usr/include/sys/uio.h \
/usr/include/sys/types.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/byteswap-16.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h /usr/include/bits/select2.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/types/struct_iovec.h /usr/include/bits/uio_lim.h \
/usr/include/bits/uio-ext.h /usr/include/sys/stat.h \
/usr/include/bits/stat.h /usr/include/pthread.h /usr/include/sched.h \
/usr/include/bits/sched.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/bits/setjmp.h /usr/include/signal.h \
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
/usr/include/bits/types/sig_atomic_t.h \
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
/usr/include/bits/siginfo-consts-arch.h \
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
/usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \
/usr/include/bits/sigthread.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/bits/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h \
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
/usr/src/linux/include/generated/uapi/linux/version.h \
/usr/include/openssl/opensslv.h /usr/include/string.h \
/usr/include/strings.h /usr/include/bits/strings_fortified.h \
/usr/include/bits/string_fortified.h /usr/include/fcntl.h \
/usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
/usr/include/linux/falloc.h /usr/include/bits/fcntl2.h \
/usr/include/errno.h /usr/include/bits/errno.h \
/usr/include/linux/errno.h /usr/include/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/sys/time.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
../../include/ulib/base/color.h ../../include/ulib/base/macro.h \
/usr/include/zlib.h /usr/include/zconf.h \
../../include/ulib/internal/common.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar \
/usr/include/wchar.h /usr/include/bits/types/wint_t.h \
/usr/include/bits/types/mbstate_t.h /usr/include/bits/wchar2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale \
/usr/include/locale.h /usr/include/bits/locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype \
/usr/include/wctype.h /usr/include/bits/wctype-wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc \
../../include/ulib/replace/strstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h \
../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \
../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \
/usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \
../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h \
../../include/ulib/debug/common.h ../../include/ulib/internal/error.h \
../../include/ulib/debug/error_memory.h \
../../include/ulib/debug/objectDB.h \
/usr/include/libxml2/libxml/xpathInternals.h \
/usr/include/libxml2/libxml/xmlversion.h \
/usr/include/libxml2/libxml/xmlexports.h \
/usr/include/libxml2/libxml/xpath.h \
/usr/include/libxml2/libxml/xmlerror.h \
/usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/tree.h \
/usr/include/libxml2/libxml/xmlstring.h \
/usr/include/libxml2/libxml/xmlregexp.h \
/usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
/usr/include/libxml2/libxml/valid.h /usr/include/libxml2/libxml/list.h \
/usr/include/libxml2/libxml/xmlautomata.h \
/usr/include/libxml2/libxml/entities.h \
/usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
/usr/include/unicode/ucnv.h /usr/include/unicode/ucnv_err.h \
/usr/include/unicode/utypes.h /usr/include/unicode/umachine.h \
/usr/include/unicode/ptypes.h /usr/include/unicode/platform.h \
/usr/include/unicode/uconfig.h /usr/include/unicode/uvernum.h \
/usr/include/unicode/urename.h /usr/include/unicode/uversion.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h \
/usr/include/unicode/utf.h /usr/include/unicode/utf8.h \
/usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h \
/usr/include/unicode/uenum.h /usr/include/unicode/localpointer.h \
/usr/include/libxml2/libxml/xmlIO.h \
/usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX2.h \
/usr/include/libxml2/libxml/xlink.h \
/usr/include/libxml2/libxml/xmlmemory.h \
/usr/include/libxml2/libxml/threads.h \
../../include/ulib/internal/macro.h \
../../include/ulib/internal/objectIO.h \
../../include/ulib/internal/memory_pool.h /usr/include/dlfcn.h \
/usr/include/bits/dlfcn.h
/usr/include/stdc-predef.h:
plugin/product.h:
../../include/ulib/dynamic/plugin.h:
../../include/ulib/dynamic/dynamic.h:
../../include/ulib/string.h:
../../include/ulib/base/hash.h:
../../include/ulib/base/xxhash/xxhash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h:
../../include/ulib/base/base.h:
../../include/ulib/internal/config.h:
../../include/ulib/internal/platform.h:
/usr/include/sys/mman.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/mman.h:
/usr/include/bits/mman-linux.h:
/usr/include/bits/mman-shared.h:
/usr/include/stdio.h:
/usr/include/bits/libc-header-start.h:
/usr/include/bits/types/__FILE.h:
/usr/include/bits/types/FILE.h:
/usr/include/bits/libio.h:
/usr/include/bits/_G_config.h:
/usr/include/bits/types/__mbstate_t.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/bits/stdint-intn.h:
/usr/include/bits/stdint-uintn.h:
/usr/include/unistd.h:
/usr/include/bits/posix_opt.h:
/usr/include/bits/environments.h:
/usr/include/bits/confname.h:
/usr/include/bits/getopt_posix.h:
/usr/include/bits/getopt_core.h:
/usr/include/bits/unistd.h:
/usr/include/sys/uio.h:
/usr/include/sys/types.h:
/usr/include/bits/types/clock_t.h:
/usr/include/bits/types/clockid_t.h:
/usr/include/bits/types/time_t.h:
/usr/include/bits/types/timer_t.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/byteswap-16.h:
/usr/include/bits/uintn-identity.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/types/sigset_t.h:
/usr/include/bits/types/__sigset_t.h:
/usr/include/bits/types/struct_timeval.h:
/usr/include/bits/types/struct_timespec.h:
/usr/include/bits/select2.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/bits/types/struct_iovec.h:
/usr/include/bits/uio_lim.h:
/usr/include/bits/uio-ext.h:
/usr/include/sys/stat.h:
/usr/include/bits/stat.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/bits/sched.h:
/usr/include/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/bits/time.h:
/usr/include/bits/timex.h:
/usr/include/bits/types/struct_tm.h:
/usr/include/bits/types/struct_itimerspec.h:
/usr/include/bits/types/locale_t.h:
/usr/include/bits/types/__locale_t.h:
/usr/include/bits/setjmp.h:
/usr/include/signal.h:
/usr/include/bits/signum.h:
/usr/include/bits/signum-generic.h:
/usr/include/bits/types/sig_atomic_t.h:
/usr/include/bits/types/siginfo_t.h:
/usr/include/bits/types/__sigval_t.h:
/usr/include/bits/siginfo-arch.h:
/usr/include/bits/siginfo-consts.h:
/usr/include/bits/siginfo-consts-arch.h:
/usr/include/bits/types/sigval_t.h:
/usr/include/bits/types/sigevent_t.h:
/usr/include/bits/sigevent-consts.h:
/usr/include/bits/sigaction.h:
/usr/include/bits/sigcontext.h:
/usr/include/bits/types/stack_t.h:
/usr/include/sys/ucontext.h:
/usr/include/bits/sigstack.h:
/usr/include/bits/ss_flags.h:
/usr/include/bits/types/struct_sigstack.h:
/usr/include/bits/sigthread.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/bits/floatn.h:
/usr/include/bits/floatn-common.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h:
/usr/include/bits/stdlib.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h:
/usr/include/ctype.h:
../../include/ulib/base/replace/replace.h:
/usr/src/linux/include/generated/uapi/linux/version.h:
/usr/include/openssl/opensslv.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/bits/strings_fortified.h:
/usr/include/bits/string_fortified.h:
/usr/include/fcntl.h:
/usr/include/bits/fcntl.h:
/usr/include/bits/fcntl-linux.h:
/usr/include/linux/falloc.h:
/usr/include/bits/fcntl2.h:
/usr/include/errno.h:
/usr/include/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/sys/time.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
../../include/ulib/base/color.h:
../../include/ulib/base/macro.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
../../include/ulib/internal/common.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar:
/usr/include/wchar.h:
/usr/include/bits/types/wint_t.h:
/usr/include/bits/types/mbstate_t.h:
/usr/include/bits/wchar2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale:
/usr/include/locale.h:
/usr/include/bits/locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype:
/usr/include/wctype.h:
/usr/include/bits/wctype-wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc:
../../include/ulib/replace/strstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h:
../../include/ulib/debug/macro.h:
../../include/ulib/debug/trace.h:
../../include/ulib/base/trace.h:
../../include/ulib/base/utility.h:
/usr/include/dirent.h:
/usr/include/bits/dirent.h:
/usr/include/fnmatch.h:
../../include/ulib/debug/error_simulation.h:
/usr/include/tdb.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h:
../../include/ulib/debug/common.h:
../../include/ulib/internal/error.h:
../../include/ulib/debug/error_memory.h:
../../include/ulib/debug/objectDB.h:
/usr/include/libxml2/libxml/xpathInternals.h:
/usr/include/libxml2/libxml/xmlversion.h:
/usr/include/libxml2/libxml/xmlexports.h:
/usr/include/libxml2/libxml/xpath.h:
/usr/include/libxml2/libxml/xmlerror.h:
/usr/include/libxml2/libxml/parser.h:
/usr/include/libxml2/libxml/tree.h:
/usr/include/libxml2/libxml/xmlstring.h:
/usr/include/libxml2/libxml/xmlregexp.h:
/usr/include/libxml2/libxml/dict.h:
/usr/include/libxml2/libxml/hash.h:
/usr/include/libxml2/libxml/valid.h:
/usr/include/libxml2/libxml/list.h:
/usr/include/libxml2/libxml/xmlautomata.h:
/usr/include/libxml2/libxml/entities.h:
/usr/include/libxml2/libxml/encoding.h:
/usr/include/iconv.h:
/usr/include/unicode/ucnv.h:
/usr/include/unicode/ucnv_err.h:
/usr/include/unicode/utypes.h:
/usr/include/unicode/umachine.h:
/usr/include/unicode/ptypes.h:
/usr/include/unicode/platform.h:
/usr/include/unicode/uconfig.h:
/usr/include/unicode/uvernum.h:
/usr/include/unicode/urename.h:
/usr/include/unicode/uversion.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h:
/usr/include/unicode/utf.h:
/usr/include/unicode/utf8.h:
/usr/include/unicode/utf16.h:
/usr/include/unicode/utf_old.h:
/usr/include/unicode/uenum.h:
/usr/include/unicode/localpointer.h:
/usr/include/libxml2/libxml/xmlIO.h:
/usr/include/libxml2/libxml/globals.h:
/usr/include/libxml2/libxml/SAX2.h:
/usr/include/libxml2/libxml/xlink.h:
/usr/include/libxml2/libxml/xmlmemory.h:
/usr/include/libxml2/libxml/threads.h:
../../include/ulib/internal/macro.h:
../../include/ulib/internal/objectIO.h:
../../include/ulib/internal/memory_pool.h:
/usr/include/dlfcn.h:
/usr/include/bits/dlfcn.h:

View File

@ -0,0 +1,828 @@
plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
plugin/product.h ../../include/ulib/dynamic/plugin.h \
../../include/ulib/dynamic/dynamic.h ../../include/ulib/string.h \
../../include/ulib/base/hash.h ../../include/ulib/base/xxhash/xxhash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h \
../../include/ulib/base/base.h ../../include/ulib/internal/config.h \
../../include/ulib/internal/platform.h /usr/include/sys/mman.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
/usr/include/bits/mman-shared.h /usr/include/stdio.h \
/usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/bits/libio.h \
/usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
/usr/include/bits/environments.h /usr/include/bits/confname.h \
/usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \
/usr/include/bits/unistd.h /usr/include/sys/uio.h \
/usr/include/sys/types.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/byteswap-16.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h /usr/include/bits/select2.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/types/struct_iovec.h /usr/include/bits/uio_lim.h \
/usr/include/bits/uio-ext.h /usr/include/sys/stat.h \
/usr/include/bits/stat.h /usr/include/pthread.h /usr/include/sched.h \
/usr/include/bits/sched.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/bits/setjmp.h /usr/include/signal.h \
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
/usr/include/bits/types/sig_atomic_t.h \
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
/usr/include/bits/siginfo-consts-arch.h \
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
/usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \
/usr/include/bits/sigthread.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/bits/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h \
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
/usr/src/linux/include/generated/uapi/linux/version.h \
/usr/include/openssl/opensslv.h /usr/include/string.h \
/usr/include/strings.h /usr/include/bits/strings_fortified.h \
/usr/include/bits/string_fortified.h /usr/include/fcntl.h \
/usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
/usr/include/linux/falloc.h /usr/include/bits/fcntl2.h \
/usr/include/errno.h /usr/include/bits/errno.h \
/usr/include/linux/errno.h /usr/include/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/sys/time.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
../../include/ulib/base/color.h ../../include/ulib/base/macro.h \
/usr/include/zlib.h /usr/include/zconf.h \
../../include/ulib/internal/common.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar \
/usr/include/wchar.h /usr/include/bits/types/wint_t.h \
/usr/include/bits/types/mbstate_t.h /usr/include/bits/wchar2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale \
/usr/include/locale.h /usr/include/bits/locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype \
/usr/include/wctype.h /usr/include/bits/wctype-wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc \
../../include/ulib/replace/strstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h \
../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \
../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \
/usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \
../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h \
../../include/ulib/debug/common.h ../../include/ulib/internal/error.h \
../../include/ulib/debug/error_memory.h \
../../include/ulib/debug/objectDB.h \
/usr/include/libxml2/libxml/xpathInternals.h \
/usr/include/libxml2/libxml/xmlversion.h \
/usr/include/libxml2/libxml/xmlexports.h \
/usr/include/libxml2/libxml/xpath.h \
/usr/include/libxml2/libxml/xmlerror.h \
/usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/tree.h \
/usr/include/libxml2/libxml/xmlstring.h \
/usr/include/libxml2/libxml/xmlregexp.h \
/usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
/usr/include/libxml2/libxml/valid.h /usr/include/libxml2/libxml/list.h \
/usr/include/libxml2/libxml/xmlautomata.h \
/usr/include/libxml2/libxml/entities.h \
/usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
/usr/include/unicode/ucnv.h /usr/include/unicode/ucnv_err.h \
/usr/include/unicode/utypes.h /usr/include/unicode/umachine.h \
/usr/include/unicode/ptypes.h /usr/include/unicode/platform.h \
/usr/include/unicode/uconfig.h /usr/include/unicode/uvernum.h \
/usr/include/unicode/urename.h /usr/include/unicode/uversion.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h \
/usr/include/unicode/utf.h /usr/include/unicode/utf8.h \
/usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h \
/usr/include/unicode/uenum.h /usr/include/unicode/localpointer.h \
/usr/include/libxml2/libxml/xmlIO.h \
/usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX2.h \
/usr/include/libxml2/libxml/xlink.h \
/usr/include/libxml2/libxml/xmlmemory.h \
/usr/include/libxml2/libxml/threads.h \
../../include/ulib/internal/macro.h \
../../include/ulib/internal/objectIO.h \
../../include/ulib/internal/memory_pool.h /usr/include/dlfcn.h \
/usr/include/bits/dlfcn.h
/usr/include/stdc-predef.h:
plugin/product.h:
../../include/ulib/dynamic/plugin.h:
../../include/ulib/dynamic/dynamic.h:
../../include/ulib/string.h:
../../include/ulib/base/hash.h:
../../include/ulib/base/xxhash/xxhash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h:
../../include/ulib/base/base.h:
../../include/ulib/internal/config.h:
../../include/ulib/internal/platform.h:
/usr/include/sys/mman.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/mman.h:
/usr/include/bits/mman-linux.h:
/usr/include/bits/mman-shared.h:
/usr/include/stdio.h:
/usr/include/bits/libc-header-start.h:
/usr/include/bits/types/__FILE.h:
/usr/include/bits/types/FILE.h:
/usr/include/bits/libio.h:
/usr/include/bits/_G_config.h:
/usr/include/bits/types/__mbstate_t.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
/usr/include/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/bits/stdio2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/bits/stdint-intn.h:
/usr/include/bits/stdint-uintn.h:
/usr/include/unistd.h:
/usr/include/bits/posix_opt.h:
/usr/include/bits/environments.h:
/usr/include/bits/confname.h:
/usr/include/bits/getopt_posix.h:
/usr/include/bits/getopt_core.h:
/usr/include/bits/unistd.h:
/usr/include/sys/uio.h:
/usr/include/sys/types.h:
/usr/include/bits/types/clock_t.h:
/usr/include/bits/types/clockid_t.h:
/usr/include/bits/types/time_t.h:
/usr/include/bits/types/timer_t.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/byteswap-16.h:
/usr/include/bits/uintn-identity.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/types/sigset_t.h:
/usr/include/bits/types/__sigset_t.h:
/usr/include/bits/types/struct_timeval.h:
/usr/include/bits/types/struct_timespec.h:
/usr/include/bits/select2.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/bits/types/struct_iovec.h:
/usr/include/bits/uio_lim.h:
/usr/include/bits/uio-ext.h:
/usr/include/sys/stat.h:
/usr/include/bits/stat.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/bits/sched.h:
/usr/include/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/bits/time.h:
/usr/include/bits/timex.h:
/usr/include/bits/types/struct_tm.h:
/usr/include/bits/types/struct_itimerspec.h:
/usr/include/bits/types/locale_t.h:
/usr/include/bits/types/__locale_t.h:
/usr/include/bits/setjmp.h:
/usr/include/signal.h:
/usr/include/bits/signum.h:
/usr/include/bits/signum-generic.h:
/usr/include/bits/types/sig_atomic_t.h:
/usr/include/bits/types/siginfo_t.h:
/usr/include/bits/types/__sigval_t.h:
/usr/include/bits/siginfo-arch.h:
/usr/include/bits/siginfo-consts.h:
/usr/include/bits/siginfo-consts-arch.h:
/usr/include/bits/types/sigval_t.h:
/usr/include/bits/types/sigevent_t.h:
/usr/include/bits/sigevent-consts.h:
/usr/include/bits/sigaction.h:
/usr/include/bits/sigcontext.h:
/usr/include/bits/types/stack_t.h:
/usr/include/sys/ucontext.h:
/usr/include/bits/sigstack.h:
/usr/include/bits/ss_flags.h:
/usr/include/bits/types/struct_sigstack.h:
/usr/include/bits/sigthread.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/include/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/bits/floatn.h:
/usr/include/bits/floatn-common.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h:
/usr/include/bits/stdlib.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h:
/usr/include/ctype.h:
../../include/ulib/base/replace/replace.h:
/usr/src/linux/include/generated/uapi/linux/version.h:
/usr/include/openssl/opensslv.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/bits/strings_fortified.h:
/usr/include/bits/string_fortified.h:
/usr/include/fcntl.h:
/usr/include/bits/fcntl.h:
/usr/include/bits/fcntl-linux.h:
/usr/include/linux/falloc.h:
/usr/include/bits/fcntl2.h:
/usr/include/errno.h:
/usr/include/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/sys/time.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
../../include/ulib/base/color.h:
../../include/ulib/base/macro.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
../../include/ulib/internal/common.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar:
/usr/include/wchar.h:
/usr/include/bits/types/wint_t.h:
/usr/include/bits/types/mbstate_t.h:
/usr/include/bits/wchar2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale:
/usr/include/locale.h:
/usr/include/bits/locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype:
/usr/include/wctype.h:
/usr/include/bits/wctype-wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc:
../../include/ulib/replace/strstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h:
../../include/ulib/debug/macro.h:
../../include/ulib/debug/trace.h:
../../include/ulib/base/trace.h:
../../include/ulib/base/utility.h:
/usr/include/dirent.h:
/usr/include/bits/dirent.h:
/usr/include/fnmatch.h:
../../include/ulib/debug/error_simulation.h:
/usr/include/tdb.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h:
../../include/ulib/debug/common.h:
../../include/ulib/internal/error.h:
../../include/ulib/debug/error_memory.h:
../../include/ulib/debug/objectDB.h:
/usr/include/libxml2/libxml/xpathInternals.h:
/usr/include/libxml2/libxml/xmlversion.h:
/usr/include/libxml2/libxml/xmlexports.h:
/usr/include/libxml2/libxml/xpath.h:
/usr/include/libxml2/libxml/xmlerror.h:
/usr/include/libxml2/libxml/parser.h:
/usr/include/libxml2/libxml/tree.h:
/usr/include/libxml2/libxml/xmlstring.h:
/usr/include/libxml2/libxml/xmlregexp.h:
/usr/include/libxml2/libxml/dict.h:
/usr/include/libxml2/libxml/hash.h:
/usr/include/libxml2/libxml/valid.h:
/usr/include/libxml2/libxml/list.h:
/usr/include/libxml2/libxml/xmlautomata.h:
/usr/include/libxml2/libxml/entities.h:
/usr/include/libxml2/libxml/encoding.h:
/usr/include/iconv.h:
/usr/include/unicode/ucnv.h:
/usr/include/unicode/ucnv_err.h:
/usr/include/unicode/utypes.h:
/usr/include/unicode/umachine.h:
/usr/include/unicode/ptypes.h:
/usr/include/unicode/platform.h:
/usr/include/unicode/uconfig.h:
/usr/include/unicode/uvernum.h:
/usr/include/unicode/urename.h:
/usr/include/unicode/uversion.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h:
/usr/include/unicode/utf.h:
/usr/include/unicode/utf8.h:
/usr/include/unicode/utf16.h:
/usr/include/unicode/utf_old.h:
/usr/include/unicode/uenum.h:
/usr/include/unicode/localpointer.h:
/usr/include/libxml2/libxml/xmlIO.h:
/usr/include/libxml2/libxml/globals.h:
/usr/include/libxml2/libxml/SAX2.h:
/usr/include/libxml2/libxml/xlink.h:
/usr/include/libxml2/libxml/xmlmemory.h:
/usr/include/libxml2/libxml/threads.h:
../../include/ulib/internal/macro.h:
../../include/ulib/internal/objectIO.h:
../../include/ulib/internal/memory_pool.h:
/usr/include/dlfcn.h:
/usr/include/bits/dlfcn.h: