Problem 1

Use integration by substitution to solve the integral below.

4e^{-7x} , dx

Solution:

\[\begin{align*} \int 4e^{-7x} \, dx &= \int 4e^{u} \left( \frac{du}{-7} \right) \\ &= \frac{4}{-7} \int e^{u} \, du \\ &= \frac{4}{-7} e^{u} + C \\ &= \frac{4}{-7} e^{-7x} + C \end{align*}\]

Problem 2

Biologists are treating a pond contaminated with bacteria.

Given the differential equation:

\[ \frac{dN}{dt} = -3150t^4 - 220 \]

Integrating both sides with respect to \(t\):

\[ \int \frac{dN}{dt} \, dt = \int (-3150t^4 - 220) \, dt \]

This gives us:

\[ N(t) = -630t^5 - 220t + C \]

where \(C\) is the constant of integration.

To find the constant \(C\), we use the initial condition provided: \(N(1) = 6530\). Substituting \(t = 1\) and \(N(1) = 6530\) into the equation:

\[ 6530 = -630(1)^5 - 220(1) + C \] \[ 6530 = -630 - 220 + C \] \[ C = 6530 + 630 + 220 \] \[ C = 7380 \]

Therefore, the function \(N(t)\) is:

\[ N(t) = -630t^5 - 220t + 7380 \]

This function estimates the level of contamination at any time \(t\) since the treatment began.

Problem 3

Find the total area of the red rectangles in the figure below, where the equation of the line is f ( x ) = 2x  9.

To find the total area of the red rectangles in the figure, we need to compute the area of each individual rectangle and then sum them up.

Given that the equation of the line is \(f(x) = 2x - 9\), and assuming that the rectangles have equal widths, we can choose a width \(\Delta x\) and calculate the height of each rectangle based on the function \(f(x)\).

Let’s denote the width of each rectangle as \(\Delta x\). Then, the height of each rectangle is given by the function \(f(x)\) evaluated at the right endpoint of the rectangle.

So, the area of each rectangle is \((\text{height}) \times (\text{width}) = f(x) \times \Delta x\).

To find the total area of all rectangles, we sum up the areas of each rectangle from \(x = 1\) to \(x = 5\):

\[ \text{Total Area} = \sum_{i=1}^{n} f(x_i) \Delta x \]

where \(n\) is the number of rectangles and \(x_i\) represents the right endpoint of each rectangle.

Let’s say we divide the interval \([1, 5]\) into \(n\) equal subintervals, then \(\Delta x = \frac{{5 - 1}}{n}\).

We then compute \(f(x_i)\) for each \(x_i\) in the interval \([1, 5]\), which corresponds to the right endpoint of each rectangle.

Finally, we sum up all the areas of the rectangles using the formula above.

Problem 4

Find the area of the region bounded by the graphs of the given equations. y = x 2 - 2x - 2, y = x + 2

To find the area of the region bounded by the graphs of the given equations \(y = x^2 - 2x - 2\) and \(y = x + 2\), we need to first determine the points of intersection between the two curves. The area of the region will then be the integral of the absolute difference between the two functions over the interval where they intersect.

To find the intersection points, we set the two equations equal to each other:

\[ x^2 - 2x - 2 = x + 2 \]

Solving this quadratic equation yields two solutions for \(x\):

\[ x^2 - 2x - 2 - (x + 2) = 0 \] \[ x^2 - 3x - 4 = 0 \]

Factoring the quadratic equation gives:

\[ (x - 4)(x + 1) = 0 \]

So, \(x = 4\) or \(x = -1\).

Next, we need to determine which curve is above the other in each interval.

For \(x < -1\), \(x^2 - 2x - 2 > x + 2\), so the curve \(y = x^2 - 2x - 2\) is above the curve \(y = x + 2\) in this interval.

For \(-1 < x < 4\), \(x + 2 > x^2 - 2x - 2\), so the curve \(y = x + 2\) is above the curve \(y = x^2 - 2x - 2\) in this interval.

For \(x > 4\), \(x^2 - 2x - 2 > x + 2\), so the curve \(y = x^2 - 2x - 2\) is above the curve \(y = x + 2\) in this interval.

Therefore, the integral for the area of the region can be split into two integrals:

\[ \text{Area} = \int_{-1}^{4} (x + 2 - (x^2 - 2x - 2)) \, dx + \int_{4}^{\infty} ((x^2 - 2x - 2) - (x + 2)) \, dx \]

Solving these integrals will give us the area of the region bounded by the curves.

Problem 5

A beauty supply store expects to sell 110 flat irons during the next year. It costs $3.75 to store one flat iron for one year. There is a fixed cost of $8.25 for each order. Find the lot size and the number of orders per year that will minimize inventory costs.

To minimize the inventory costs, we need to find the lot size and the number of orders per year that will minimize the total cost.

Let: - \(C\) be the total annual inventory cost, - \(Q\) be the lot size (number of flat irons per order), - \(D\) be the demand (number of flat irons to be sold in a year), - \(S\) be the cost to store one flat iron for one year, - \(F\) be the fixed cost per order.

The total annual inventory cost \(C\) is given by the sum of the ordering cost and the carrying cost:

\[ C = \text{Ordering cost} + \text{Carrying cost} \]

The ordering cost is given by the total number of orders multiplied by the fixed cost per order:

\[ \text{Ordering cost} = \frac{D}{Q} \times F \]

The carrying cost is given by the average inventory multiplied by the cost to store one flat iron for one year:

\[ \text{Carrying cost} = \frac{Q}{2} \times S \]

Given: - \(D = 110\) flat irons (demand per year), - \(S = \$3.75\) (cost to store one flat iron for one year), - \(F = \$8.25\) (fixed cost per order).

We want to find the values of \(Q\) and the number of orders per year that minimize \(C\).

Substituting the given values into the equations for the ordering cost and carrying cost, we have:

\[ \text{Ordering cost} = \frac{110}{Q} \times 8.25 \] \[ \text{Carrying cost} = \frac{Q}{2} \times 3.75 \]

The total annual inventory cost \(C\) becomes:

\[ C = \frac{110 \times 8.25}{Q} + \frac{Q \times 3.75}{2} \]

To minimize \(C\), we differentiate it with respect to \(Q\), set the derivative equal to zero, and solve for \(Q\).

\[ \frac{dC}{dQ} = -\frac{110 \times 8.25}{Q^2} + \frac{3.75}{2} = 0 \]

Solving for \(Q\) gives us the optimal lot size. Then, we can find the number of orders per year by dividing the total demand by the lot size.

After finding \(Q\), we can substitute it back into the total annual inventory cost equation to find the minimum total cost.

Problem 6

Use integration by parts to solve the integral below.

To solve the integral \(\int \ln(9x) \cdot x^6 \, dx\) using integration by parts, we use the formula:

\[ \int u \, dv = uv - \int v \, du \]

Let’s choose:

\[ u = \ln(9x) \quad \text{and} \quad dv = x^6 \, dx \]

Now, we differentiate \(u\) to find \(du\) and integrate \(dv\) to find \(v\):

\[ du = \frac{1}{9x} \, dx \quad \text{and} \quad v = \frac{1}{7}x^7 \]

Now, we can apply the integration by parts formula:

\[ \int \ln(9x) \cdot x^6 \, dx = uv - \int v \, du \] \[ = \ln(9x) \cdot \frac{1}{7}x^7 - \int \frac{1}{7}x^7 \cdot \frac{1}{9x} \, dx \] \[ = \frac{1}{7}x^7 \ln(9x) - \frac{1}{63} \int x^6 \, dx \]

Integrating \(\int x^6 \, dx\) gives us:

\[ = \frac{1}{7}x^7 \ln(9x) - \frac{1}{63} \cdot \frac{1}{7}x^7 + C \] \[ = \frac{1}{7}x^7 \left(\ln(9x) - \frac{1}{9}\right) + C \]

Therefore, the solution to the integral \(\int \ln(9x) \cdot x^6 \, dx\) using integration by parts is:

\[ \frac{1}{7}x^7 \left(\ln(9x) - \frac{1}{9}\right) + C \]

where \(C\) is the constant of integration.

Problem 7

Determine whether f ( x ) is a probability density function on the interval 1, e 6 . If not, determine the value of the definite integral. f ( x ) = 1/6x

To determine whether \(f(x) = \frac{1}{6x}\) is a probability density function (PDF) on the interval \([1, e^6]\), we need to check two conditions:

  1. The function \(f(x)\) must be non-negative for all \(x\) in the interval.
  2. The total area under the curve of \(f(x)\) over the interval must be equal to 1.

Let’s evaluate these conditions:

  1. Non-negativity: For \(x\) in the interval \([1, e^6]\), \(f(x) = \frac{1}{6x}\) is positive since both \(1\) and \(e^6\) are positive, and the denominator \(6x\) is positive for \(x > 0\). Therefore, \(f(x)\) is non-negative for all \(x\) in the interval.

  2. Total area under the curve: We need to find the definite integral of \(f(x)\) over the interval \([1, e^6]\):

\[ \int_{1}^{e^6} \frac{1}{6x} \, dx \]

Let’s compute this integral:

\[ \int_{1}^{e^6} \frac{1}{6x} \, dx = \frac{1}{6} \int_{1}^{e^6} \frac{1}{x} \, dx = \frac{1}{6} \ln(x) \Bigg|_{1}^{e^6} = \frac{1}{6} (\ln(e^6) - \ln(1)) \] \[ = \frac{1}{6} (6 - 0) = 1 \]

Since the integral evaluates to \(1\), which is the desired value for a PDF, \(f(x)\) is indeed a probability density function on the interval \([1, e^6]\).

Therefore, \(f(x) = \frac{1}{6x}\) is a valid probability density function on the interval \([1, e^6]\).

LS0tDQp0aXRsZTogIkRhdGEgNjA1IEFzc2lnbm1lbnQgMTMiDQphdXRob3I6ICJMYXVyYSBCIg0KZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0OiBvcGVuaW50cm86OmxhYl9yZXBvcnQNCi0tLQ0KDQoNClByb2JsZW0gMQ0KDQpVc2UgaW50ZWdyYXRpb24gYnkgc3Vic3RpdHV0aW9uIHRvIHNvbHZlIHRoZSBpbnRlZ3JhbCBiZWxvdy4NCg0KXGludCA0ZV57LTd4fSBcLCBkeA0KDQpTb2x1dGlvbjoNCg0KXGJlZ2lue2FsaWduKn0NClxpbnQgNGVeey03eH0gXCwgZHggJj0gXGludCA0ZV57dX0gXGxlZnQoIFxmcmFje2R1fXstN30gXHJpZ2h0KSBcXA0KJj0gXGZyYWN7NH17LTd9IFxpbnQgZV57dX0gXCwgZHUgXFwNCiY9IFxmcmFjezR9ey03fSBlXnt1fSArIEMgXFwNCiY9IFxmcmFjezR9ey03fSBlXnstN3h9ICsgQw0KXGVuZHthbGlnbip9DQoNCg0KDQoNCg0KUHJvYmxlbSAyDQoNCkJpb2xvZ2lzdHMgYXJlIHRyZWF0aW5nIGEgcG9uZCBjb250YW1pbmF0ZWQgd2l0aCBiYWN0ZXJpYS4gDQoNCkdpdmVuIHRoZSBkaWZmZXJlbnRpYWwgZXF1YXRpb246DQoNClxbDQpcZnJhY3tkTn17ZHR9ID0gLTMxNTB0XjQgLSAyMjANClxdDQoNCkludGVncmF0aW5nIGJvdGggc2lkZXMgd2l0aCByZXNwZWN0IHRvIFwoIHQgXCk6DQoNClxbDQpcaW50IFxmcmFje2ROfXtkdH0gXCwgZHQgPSBcaW50ICgtMzE1MHReNCAtIDIyMCkgXCwgZHQNClxdDQoNClRoaXMgZ2l2ZXMgdXM6DQoNClxbDQpOKHQpID0gLTYzMHReNSAtIDIyMHQgKyBDDQpcXQ0KDQp3aGVyZSBcKCBDIFwpIGlzIHRoZSBjb25zdGFudCBvZiBpbnRlZ3JhdGlvbi4NCg0KVG8gZmluZCB0aGUgY29uc3RhbnQgXCggQyBcKSwgd2UgdXNlIHRoZSBpbml0aWFsIGNvbmRpdGlvbiBwcm92aWRlZDogXCggTigxKSA9IDY1MzAgXCkuIFN1YnN0aXR1dGluZyBcKCB0ID0gMSBcKSBhbmQgXCggTigxKSA9IDY1MzAgXCkgaW50byB0aGUgZXF1YXRpb246DQoNClxbDQo2NTMwID0gLTYzMCgxKV41IC0gMjIwKDEpICsgQw0KXF0NClxbDQo2NTMwID0gLTYzMCAtIDIyMCArIEMNClxdDQpcWw0KQyA9IDY1MzAgKyA2MzAgKyAyMjANClxdDQpcWw0KQyA9IDczODANClxdDQoNClRoZXJlZm9yZSwgdGhlIGZ1bmN0aW9uIFwoIE4odCkgXCkgaXM6DQoNClxbDQpOKHQpID0gLTYzMHReNSAtIDIyMHQgKyA3MzgwDQpcXQ0KDQpUaGlzIGZ1bmN0aW9uIGVzdGltYXRlcyB0aGUgbGV2ZWwgb2YgY29udGFtaW5hdGlvbiBhdCBhbnkgdGltZSBcKCB0IFwpIHNpbmNlIHRoZSB0cmVhdG1lbnQgYmVnYW4uDQoNCg0KDQoNCg0KUHJvYmxlbSAzDQoNCkZpbmQgdGhlIHRvdGFsIGFyZWEgb2YgdGhlIHJlZCByZWN0YW5nbGVzIGluIHRoZSBmaWd1cmUgYmVsb3csIHdoZXJlIHRoZSBlcXVhdGlvbiBvZiB0aGUgbGluZSBpcyBmICggeCApID0gMngg74CtIDkuDQoNCg0KVG8gZmluZCB0aGUgdG90YWwgYXJlYSBvZiB0aGUgcmVkIHJlY3RhbmdsZXMgaW4gdGhlIGZpZ3VyZSwgd2UgbmVlZCB0byBjb21wdXRlIHRoZSBhcmVhIG9mIGVhY2ggaW5kaXZpZHVhbCByZWN0YW5nbGUgYW5kIHRoZW4gc3VtIHRoZW0gdXAuDQoNCkdpdmVuIHRoYXQgdGhlIGVxdWF0aW9uIG9mIHRoZSBsaW5lIGlzIFwoIGYoeCkgPSAyeCAtIDkgXCksIGFuZCBhc3N1bWluZyB0aGF0IHRoZSByZWN0YW5nbGVzIGhhdmUgZXF1YWwgd2lkdGhzLCB3ZSBjYW4gY2hvb3NlIGEgd2lkdGggXCggXERlbHRhIHggXCkgYW5kIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGVhY2ggcmVjdGFuZ2xlIGJhc2VkIG9uIHRoZSBmdW5jdGlvbiBcKCBmKHgpIFwpLg0KDQpMZXQncyBkZW5vdGUgdGhlIHdpZHRoIG9mIGVhY2ggcmVjdGFuZ2xlIGFzIFwoIFxEZWx0YSB4IFwpLiBUaGVuLCB0aGUgaGVpZ2h0IG9mIGVhY2ggcmVjdGFuZ2xlIGlzIGdpdmVuIGJ5IHRoZSBmdW5jdGlvbiBcKCBmKHgpIFwpIGV2YWx1YXRlZCBhdCB0aGUgcmlnaHQgZW5kcG9pbnQgb2YgdGhlIHJlY3RhbmdsZS4NCg0KU28sIHRoZSBhcmVhIG9mIGVhY2ggcmVjdGFuZ2xlIGlzIFwoIChcdGV4dHtoZWlnaHR9KSBcdGltZXMgKFx0ZXh0e3dpZHRofSkgPSBmKHgpIFx0aW1lcyBcRGVsdGEgeCBcKS4NCg0KVG8gZmluZCB0aGUgdG90YWwgYXJlYSBvZiBhbGwgcmVjdGFuZ2xlcywgd2Ugc3VtIHVwIHRoZSBhcmVhcyBvZiBlYWNoIHJlY3RhbmdsZSBmcm9tIFwoIHggPSAxIFwpIHRvIFwoIHggPSA1IFwpOg0KDQpcWw0KXHRleHR7VG90YWwgQXJlYX0gPSBcc3VtX3tpPTF9XntufSBmKHhfaSkgXERlbHRhIHgNClxdDQoNCndoZXJlIFwoIG4gXCkgaXMgdGhlIG51bWJlciBvZiByZWN0YW5nbGVzIGFuZCBcKCB4X2kgXCkgcmVwcmVzZW50cyB0aGUgcmlnaHQgZW5kcG9pbnQgb2YgZWFjaCByZWN0YW5nbGUuDQoNCkxldCdzIHNheSB3ZSBkaXZpZGUgdGhlIGludGVydmFsIFwoIFsxLCA1XSBcKSBpbnRvIFwoIG4gXCkgZXF1YWwgc3ViaW50ZXJ2YWxzLCB0aGVuIFwoIFxEZWx0YSB4ID0gXGZyYWN7ezUgLSAxfX17bn0gXCkuDQoNCldlIHRoZW4gY29tcHV0ZSBcKCBmKHhfaSkgXCkgZm9yIGVhY2ggXCggeF9pIFwpIGluIHRoZSBpbnRlcnZhbCBcKCBbMSwgNV0gXCksIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSByaWdodCBlbmRwb2ludCBvZiBlYWNoIHJlY3RhbmdsZS4NCg0KRmluYWxseSwgd2Ugc3VtIHVwIGFsbCB0aGUgYXJlYXMgb2YgdGhlIHJlY3RhbmdsZXMgdXNpbmcgdGhlIGZvcm11bGEgYWJvdmUuDQoNCg0KDQoNCg0KUHJvYmxlbSA0DQoNCkZpbmQgdGhlIGFyZWEgb2YgdGhlIHJlZ2lvbiBib3VuZGVkIGJ5IHRoZSBncmFwaHMgb2YgdGhlIGdpdmVuIGVxdWF0aW9ucy4NCnkgPSB4IDIgLSAyeCAtIDIsIHkgPSB4ICsgMg0KDQpUbyBmaW5kIHRoZSBhcmVhIG9mIHRoZSByZWdpb24gYm91bmRlZCBieSB0aGUgZ3JhcGhzIG9mIHRoZSBnaXZlbiBlcXVhdGlvbnMgXCggeSA9IHheMiAtIDJ4IC0gMiBcKSBhbmQgXCggeSA9IHggKyAyIFwpLCB3ZSBuZWVkIHRvIGZpcnN0IGRldGVybWluZSB0aGUgcG9pbnRzIG9mIGludGVyc2VjdGlvbiBiZXR3ZWVuIHRoZSB0d28gY3VydmVzLiBUaGUgYXJlYSBvZiB0aGUgcmVnaW9uIHdpbGwgdGhlbiBiZSB0aGUgaW50ZWdyYWwgb2YgdGhlIGFic29sdXRlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIGZ1bmN0aW9ucyBvdmVyIHRoZSBpbnRlcnZhbCB3aGVyZSB0aGV5IGludGVyc2VjdC4NCg0KVG8gZmluZCB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cywgd2Ugc2V0IHRoZSB0d28gZXF1YXRpb25zIGVxdWFsIHRvIGVhY2ggb3RoZXI6DQoNClxbDQp4XjIgLSAyeCAtIDIgPSB4ICsgMg0KXF0NCg0KU29sdmluZyB0aGlzIHF1YWRyYXRpYyBlcXVhdGlvbiB5aWVsZHMgdHdvIHNvbHV0aW9ucyBmb3IgXCggeCBcKToNCg0KXFsNCnheMiAtIDJ4IC0gMiAtICh4ICsgMikgPSAwDQpcXQ0KXFsNCnheMiAtIDN4IC0gNCA9IDANClxdDQoNCkZhY3RvcmluZyB0aGUgcXVhZHJhdGljIGVxdWF0aW9uIGdpdmVzOg0KDQpcWw0KKHggLSA0KSh4ICsgMSkgPSAwDQpcXQ0KDQpTbywgXCggeCA9IDQgXCkgb3IgXCggeCA9IC0xIFwpLg0KDQpOZXh0LCB3ZSBuZWVkIHRvIGRldGVybWluZSB3aGljaCBjdXJ2ZSBpcyBhYm92ZSB0aGUgb3RoZXIgaW4gZWFjaCBpbnRlcnZhbC4NCg0KRm9yIFwoIHggPCAtMSBcKSwgXCggeF4yIC0gMnggLSAyID4geCArIDIgXCksIHNvIHRoZSBjdXJ2ZSBcKCB5ID0geF4yIC0gMnggLSAyIFwpIGlzIGFib3ZlIHRoZSBjdXJ2ZSBcKCB5ID0geCArIDIgXCkgaW4gdGhpcyBpbnRlcnZhbC4NCg0KRm9yIFwoIC0xIDwgeCA8IDQgXCksIFwoIHggKyAyID4geF4yIC0gMnggLSAyIFwpLCBzbyB0aGUgY3VydmUgXCggeSA9IHggKyAyIFwpIGlzIGFib3ZlIHRoZSBjdXJ2ZSBcKCB5ID0geF4yIC0gMnggLSAyIFwpIGluIHRoaXMgaW50ZXJ2YWwuDQoNCkZvciBcKCB4ID4gNCBcKSwgXCggeF4yIC0gMnggLSAyID4geCArIDIgXCksIHNvIHRoZSBjdXJ2ZSBcKCB5ID0geF4yIC0gMnggLSAyIFwpIGlzIGFib3ZlIHRoZSBjdXJ2ZSBcKCB5ID0geCArIDIgXCkgaW4gdGhpcyBpbnRlcnZhbC4NCg0KVGhlcmVmb3JlLCB0aGUgaW50ZWdyYWwgZm9yIHRoZSBhcmVhIG9mIHRoZSByZWdpb24gY2FuIGJlIHNwbGl0IGludG8gdHdvIGludGVncmFsczoNCg0KXFsNClx0ZXh0e0FyZWF9ID0gXGludF97LTF9Xns0fSAoeCArIDIgLSAoeF4yIC0gMnggLSAyKSkgXCwgZHggKyBcaW50X3s0fV57XGluZnR5fSAoKHheMiAtIDJ4IC0gMikgLSAoeCArIDIpKSBcLCBkeA0KXF0NCg0KU29sdmluZyB0aGVzZSBpbnRlZ3JhbHMgd2lsbCBnaXZlIHVzIHRoZSBhcmVhIG9mIHRoZSByZWdpb24gYm91bmRlZCBieSB0aGUgY3VydmVzLg0KDQoNCg0KDQpQcm9ibGVtIDUNCg0KQSBiZWF1dHkgc3VwcGx5IHN0b3JlIGV4cGVjdHMgdG8gc2VsbCAxMTAgZmxhdCBpcm9ucyBkdXJpbmcgdGhlIG5leHQgeWVhci4gSXQgY29zdHMgJDMuNzUgdG8gc3RvcmUgb25lIGZsYXQgaXJvbiBmb3Igb25lIHllYXIuDQpUaGVyZSBpcyBhIGZpeGVkIGNvc3Qgb2YgJDguMjUgZm9yIGVhY2ggb3JkZXIuIEZpbmQgdGhlIGxvdCBzaXplIGFuZCB0aGUgbnVtYmVyIG9mIG9yZGVycyBwZXIgeWVhciB0aGF0IHdpbGwgbWluaW1pemUNCmludmVudG9yeSBjb3N0cy4NCg0KDQpUbyBtaW5pbWl6ZSB0aGUgaW52ZW50b3J5IGNvc3RzLCB3ZSBuZWVkIHRvIGZpbmQgdGhlIGxvdCBzaXplIGFuZCB0aGUgbnVtYmVyIG9mIG9yZGVycyBwZXIgeWVhciB0aGF0IHdpbGwgbWluaW1pemUgdGhlIHRvdGFsIGNvc3QuDQoNCkxldDoNCi0gXCggQyBcKSBiZSB0aGUgdG90YWwgYW5udWFsIGludmVudG9yeSBjb3N0LA0KLSBcKCBRIFwpIGJlIHRoZSBsb3Qgc2l6ZSAobnVtYmVyIG9mIGZsYXQgaXJvbnMgcGVyIG9yZGVyKSwNCi0gXCggRCBcKSBiZSB0aGUgZGVtYW5kIChudW1iZXIgb2YgZmxhdCBpcm9ucyB0byBiZSBzb2xkIGluIGEgeWVhciksDQotIFwoIFMgXCkgYmUgdGhlIGNvc3QgdG8gc3RvcmUgb25lIGZsYXQgaXJvbiBmb3Igb25lIHllYXIsDQotIFwoIEYgXCkgYmUgdGhlIGZpeGVkIGNvc3QgcGVyIG9yZGVyLg0KDQpUaGUgdG90YWwgYW5udWFsIGludmVudG9yeSBjb3N0IFwoIEMgXCkgaXMgZ2l2ZW4gYnkgdGhlIHN1bSBvZiB0aGUgb3JkZXJpbmcgY29zdCBhbmQgdGhlIGNhcnJ5aW5nIGNvc3Q6DQoNClxbDQpDID0gXHRleHR7T3JkZXJpbmcgY29zdH0gKyBcdGV4dHtDYXJyeWluZyBjb3N0fQ0KXF0NCg0KVGhlIG9yZGVyaW5nIGNvc3QgaXMgZ2l2ZW4gYnkgdGhlIHRvdGFsIG51bWJlciBvZiBvcmRlcnMgbXVsdGlwbGllZCBieSB0aGUgZml4ZWQgY29zdCBwZXIgb3JkZXI6DQoNClxbDQpcdGV4dHtPcmRlcmluZyBjb3N0fSA9IFxmcmFje0R9e1F9IFx0aW1lcyBGDQpcXQ0KDQpUaGUgY2FycnlpbmcgY29zdCBpcyBnaXZlbiBieSB0aGUgYXZlcmFnZSBpbnZlbnRvcnkgbXVsdGlwbGllZCBieSB0aGUgY29zdCB0byBzdG9yZSBvbmUgZmxhdCBpcm9uIGZvciBvbmUgeWVhcjoNCg0KXFsNClx0ZXh0e0NhcnJ5aW5nIGNvc3R9ID0gXGZyYWN7UX17Mn0gXHRpbWVzIFMNClxdDQoNCkdpdmVuOg0KLSBcKCBEID0gMTEwIFwpIGZsYXQgaXJvbnMgKGRlbWFuZCBwZXIgeWVhciksDQotIFwoIFMgPSBcJDMuNzUgXCkgKGNvc3QgdG8gc3RvcmUgb25lIGZsYXQgaXJvbiBmb3Igb25lIHllYXIpLA0KLSBcKCBGID0gXCQ4LjI1IFwpIChmaXhlZCBjb3N0IHBlciBvcmRlcikuDQoNCldlIHdhbnQgdG8gZmluZCB0aGUgdmFsdWVzIG9mIFwoIFEgXCkgYW5kIHRoZSBudW1iZXIgb2Ygb3JkZXJzIHBlciB5ZWFyIHRoYXQgbWluaW1pemUgXCggQyBcKS4NCg0KU3Vic3RpdHV0aW5nIHRoZSBnaXZlbiB2YWx1ZXMgaW50byB0aGUgZXF1YXRpb25zIGZvciB0aGUgb3JkZXJpbmcgY29zdCBhbmQgY2FycnlpbmcgY29zdCwgd2UgaGF2ZToNCg0KXFsNClx0ZXh0e09yZGVyaW5nIGNvc3R9ID0gXGZyYWN7MTEwfXtRfSBcdGltZXMgOC4yNQ0KXF0NClxbDQpcdGV4dHtDYXJyeWluZyBjb3N0fSA9IFxmcmFje1F9ezJ9IFx0aW1lcyAzLjc1DQpcXQ0KDQpUaGUgdG90YWwgYW5udWFsIGludmVudG9yeSBjb3N0IFwoIEMgXCkgYmVjb21lczoNCg0KXFsNCkMgPSBcZnJhY3sxMTAgXHRpbWVzIDguMjV9e1F9ICsgXGZyYWN7USBcdGltZXMgMy43NX17Mn0NClxdDQoNClRvIG1pbmltaXplIFwoIEMgXCksIHdlIGRpZmZlcmVudGlhdGUgaXQgd2l0aCByZXNwZWN0IHRvIFwoIFEgXCksIHNldCB0aGUgZGVyaXZhdGl2ZSBlcXVhbCB0byB6ZXJvLCBhbmQgc29sdmUgZm9yIFwoIFEgXCkuDQoNClxbDQpcZnJhY3tkQ317ZFF9ID0gLVxmcmFjezExMCBcdGltZXMgOC4yNX17UV4yfSArIFxmcmFjezMuNzV9ezJ9ID0gMA0KXF0NCg0KU29sdmluZyBmb3IgXCggUSBcKSBnaXZlcyB1cyB0aGUgb3B0aW1hbCBsb3Qgc2l6ZS4gVGhlbiwgd2UgY2FuIGZpbmQgdGhlIG51bWJlciBvZiBvcmRlcnMgcGVyIHllYXIgYnkgZGl2aWRpbmcgdGhlIHRvdGFsIGRlbWFuZCBieSB0aGUgbG90IHNpemUuDQoNCkFmdGVyIGZpbmRpbmcgXCggUSBcKSwgd2UgY2FuIHN1YnN0aXR1dGUgaXQgYmFjayBpbnRvIHRoZSB0b3RhbCBhbm51YWwgaW52ZW50b3J5IGNvc3QgZXF1YXRpb24gdG8gZmluZCB0aGUgbWluaW11bSB0b3RhbCBjb3N0Lg0KDQoNCg0KDQpQcm9ibGVtIDYNCg0KVXNlIGludGVncmF0aW9uIGJ5IHBhcnRzIHRvIHNvbHZlIHRoZSBpbnRlZ3JhbCBiZWxvdy4NCg0KDQpUbyBzb2x2ZSB0aGUgaW50ZWdyYWwgXChcaW50IFxsbig5eCkgXGNkb3QgeF42IFwsIGR4XCkgdXNpbmcgaW50ZWdyYXRpb24gYnkgcGFydHMsIHdlIHVzZSB0aGUgZm9ybXVsYToNCg0KXFsNClxpbnQgdSBcLCBkdiA9IHV2IC0gXGludCB2IFwsIGR1DQpcXQ0KDQpMZXQncyBjaG9vc2U6DQoNClxbDQp1ID0gXGxuKDl4KSBccXVhZCBcdGV4dHthbmR9IFxxdWFkIGR2ID0geF42IFwsIGR4DQpcXQ0KDQpOb3csIHdlIGRpZmZlcmVudGlhdGUgXCh1XCkgdG8gZmluZCBcKGR1XCkgYW5kIGludGVncmF0ZSBcKGR2XCkgdG8gZmluZCBcKHZcKToNCg0KXFsNCmR1ID0gXGZyYWN7MX17OXh9IFwsIGR4IFxxdWFkIFx0ZXh0e2FuZH0gXHF1YWQgdiA9IFxmcmFjezF9ezd9eF43DQpcXQ0KDQpOb3csIHdlIGNhbiBhcHBseSB0aGUgaW50ZWdyYXRpb24gYnkgcGFydHMgZm9ybXVsYToNCg0KXFsNClxpbnQgXGxuKDl4KSBcY2RvdCB4XjYgXCwgZHggPSB1diAtIFxpbnQgdiBcLCBkdQ0KXF0NClxbDQo9IFxsbig5eCkgXGNkb3QgXGZyYWN7MX17N314XjcgLSBcaW50IFxmcmFjezF9ezd9eF43IFxjZG90IFxmcmFjezF9ezl4fSBcLCBkeA0KXF0NClxbDQo9IFxmcmFjezF9ezd9eF43IFxsbig5eCkgLSBcZnJhY3sxfXs2M30gXGludCB4XjYgXCwgZHgNClxdDQoNCkludGVncmF0aW5nIFwoXGludCB4XjYgXCwgZHhcKSBnaXZlcyB1czoNCg0KXFsNCj0gXGZyYWN7MX17N314XjcgXGxuKDl4KSAtIFxmcmFjezF9ezYzfSBcY2RvdCBcZnJhY3sxfXs3fXheNyArIEMNClxdDQpcWw0KPSBcZnJhY3sxfXs3fXheNyBcbGVmdChcbG4oOXgpIC0gXGZyYWN7MX17OX1ccmlnaHQpICsgQw0KXF0NCg0KVGhlcmVmb3JlLCB0aGUgc29sdXRpb24gdG8gdGhlIGludGVncmFsIFwoXGludCBcbG4oOXgpIFxjZG90IHheNiBcLCBkeFwpIHVzaW5nIGludGVncmF0aW9uIGJ5IHBhcnRzIGlzOg0KDQpcWw0KXGZyYWN7MX17N314XjcgXGxlZnQoXGxuKDl4KSAtIFxmcmFjezF9ezl9XHJpZ2h0KSArIEMNClxdDQoNCndoZXJlIFwoQ1wpIGlzIHRoZSBjb25zdGFudCBvZiBpbnRlZ3JhdGlvbi4NCg0KDQoNCg0KUHJvYmxlbSA3DQoNCkRldGVybWluZSB3aGV0aGVyIGYgKCB4ICkgaXMgYSBwcm9iYWJpbGl0eSBkZW5zaXR5IGZ1bmN0aW9uIG9uIHRoZSBpbnRlcnZhbCAxLCBlIDYgLiBJZiBub3QsIGRldGVybWluZSB0aGUgdmFsdWUgb2YgdGhlIGRlZmluaXRlIGludGVncmFsLiBmICggeCApID0gMS82eA0KDQpUbyBkZXRlcm1pbmUgd2hldGhlciBcKCBmKHgpID0gXGZyYWN7MX17Nnh9IFwpIGlzIGEgcHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiAoUERGKSBvbiB0aGUgaW50ZXJ2YWwgXCggWzEsIGVeNl0gXCksIHdlIG5lZWQgdG8gY2hlY2sgdHdvIGNvbmRpdGlvbnM6DQoNCjEuIFRoZSBmdW5jdGlvbiBcKCBmKHgpIFwpIG11c3QgYmUgbm9uLW5lZ2F0aXZlIGZvciBhbGwgXCggeCBcKSBpbiB0aGUgaW50ZXJ2YWwuDQoyLiBUaGUgdG90YWwgYXJlYSB1bmRlciB0aGUgY3VydmUgb2YgXCggZih4KSBcKSBvdmVyIHRoZSBpbnRlcnZhbCBtdXN0IGJlIGVxdWFsIHRvIDEuDQoNCkxldCdzIGV2YWx1YXRlIHRoZXNlIGNvbmRpdGlvbnM6DQoNCjEuIE5vbi1uZWdhdGl2aXR5OiBGb3IgXCggeCBcKSBpbiB0aGUgaW50ZXJ2YWwgXCggWzEsIGVeNl0gXCksIFwoIGYoeCkgPSBcZnJhY3sxfXs2eH0gXCkgaXMgcG9zaXRpdmUgc2luY2UgYm90aCBcKCAxIFwpIGFuZCBcKCBlXjYgXCkgYXJlIHBvc2l0aXZlLCBhbmQgdGhlIGRlbm9taW5hdG9yIFwoIDZ4IFwpIGlzIHBvc2l0aXZlIGZvciBcKCB4ID4gMCBcKS4gVGhlcmVmb3JlLCBcKCBmKHgpIFwpIGlzIG5vbi1uZWdhdGl2ZSBmb3IgYWxsIFwoIHggXCkgaW4gdGhlIGludGVydmFsLg0KDQoyLiBUb3RhbCBhcmVhIHVuZGVyIHRoZSBjdXJ2ZTogV2UgbmVlZCB0byBmaW5kIHRoZSBkZWZpbml0ZSBpbnRlZ3JhbCBvZiBcKCBmKHgpIFwpIG92ZXIgdGhlIGludGVydmFsIFwoIFsxLCBlXjZdIFwpOg0KDQpcWw0KXGludF97MX1ee2VeNn0gXGZyYWN7MX17Nnh9IFwsIGR4DQpcXQ0KDQpMZXQncyBjb21wdXRlIHRoaXMgaW50ZWdyYWw6DQoNClxbDQpcaW50X3sxfV57ZV42fSBcZnJhY3sxfXs2eH0gXCwgZHggPSBcZnJhY3sxfXs2fSBcaW50X3sxfV57ZV42fSBcZnJhY3sxfXt4fSBcLCBkeCA9IFxmcmFjezF9ezZ9IFxsbih4KSBcQmlnZ3xfezF9XntlXjZ9ID0gXGZyYWN7MX17Nn0gKFxsbihlXjYpIC0gXGxuKDEpKQ0KXF0NClxbDQo9IFxmcmFjezF9ezZ9ICg2IC0gMCkgPSAxDQpcXQ0KDQpTaW5jZSB0aGUgaW50ZWdyYWwgZXZhbHVhdGVzIHRvIFwoIDEgXCksIHdoaWNoIGlzIHRoZSBkZXNpcmVkIHZhbHVlIGZvciBhIFBERiwgXCggZih4KSBcKSBpcyBpbmRlZWQgYSBwcm9iYWJpbGl0eSBkZW5zaXR5IGZ1bmN0aW9uIG9uIHRoZSBpbnRlcnZhbCBcKCBbMSwgZV42XSBcKS4NCg0KVGhlcmVmb3JlLCBcKCBmKHgpID0gXGZyYWN7MX17Nnh9IFwpIGlzIGEgdmFsaWQgcHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvbiB0aGUgaW50ZXJ2YWwgXCggWzEsIGVeNl0gXCkuDQoNCg0K