<p>A Range Module is a module that tracks ranges of numbers. Design a data structure to track the ranges represented as <strong>half-open intervals</strong> and query about them.</p>
<p>A <strong>half-open interval</strong><code>[left, right)</code> denotes all the real numbers <code>x</code> where <code>left <= x < right</code>.</p>
<p>Implement the <code>RangeModule</code> class:</p>
<ul>
<li><code>RangeModule()</code> Initializes the object of the data structure.</li>
<li><code>void addRange(int left, int right)</code> Adds the <strong>half-open interval</strong><code>[left, right)</code>, tracking every real number in that interval. Adding an interval that partially overlaps with currently tracked numbers should add any numbers in the interval <code>[left, right)</code> that are not already tracked.</li>
<li><code>boolean queryRange(int left, int right)</code> Returns <code>true</code> if every real number in the interval <code>[left, right)</code> is currently being tracked, and <code>false</code> otherwise.</li>
<li><code>void removeRange(int left, int right)</code> Stops tracking every real number currently being tracked in the <strong>half-open interval</strong><code>[left, right)</code>.</li>