Jawaban UTS Ganjil TA 23/24

Matriks dan Ruang Vektor

Soal 1 (30%) (Matriks/SPL)

Sebuah perusahaan tambang memiliki tiga lokasi penambangan bijih (Lokasi A, Lokasi B, dan Lokasi C). Setiap lokasi mengekstraksi tiga jenis bijih yang berbeda: emas, perak, dan tembaga. Setiap jenis bijih harus memenuhi permintaan harian tertentu, dan masing-masing lokasi hanya dapat mengekstraksi dalam jumlah terbatas per hari. Berikut adalah informasi lebih lanjut:

  1. Kapasitas Produksi Harian di Setiap Lokasi (dalam ton):

    • Lokasi A: dapat mengekstraksi 60 ton emas, 40 ton perak, dan 30 ton tembaga per hari.
    • Lokasi B: dapat mengekstraksi 50 ton emas, 60 ton perak, dan 20 ton tembaga per hari.
    • Lokasi C: dapat mengekstraksi 30 ton emas, 30 ton perak, dan 40 ton tembaga per hari.
  2. Permintaan Harian (dalam ton):

    • Emas: 100 ton
    • Perak: 90 ton
    • Tembaga: 70 ton

Berapa jumlah bijih yang harus diambil dari setiap lokasi agar permintaan harian terpenuhi tanpa melebihi kapasitas penambangan harian di setiap lokasi?

Pertanyaan:

  1. Susun sistem persamaan untuk menentukan jumlah bijih yang diambil dari setiap lokasi sehingga permintaan terpenuhi.
  2. Selesaikan sistem persamaan ini dengang menggunakan Metode Invers Matriks untuk menemukan solusi yang memenuhi permintaan harian.

Penyelesaian 1

Diberikan sistem persamaan:

\[ \begin{aligned} 60x_A + 50x_B + 30x_C &= 100 \quad \text{(persamaan untuk emas)} \\ 40x_A + 60x_B + 30x_C &= 90 \quad \text{(persamaan untuk perak)} \\ 30x_A + 20x_B + 40x_C &= 70 \quad \text{(persamaan untuk tembaga)} \end{aligned} \]

Matriks Koefisien dan Vektor Konstanta

Sehingga persamaan matriksnya menjadi:

\[ \begin{bmatrix} 60 & 50 & 30 \\ 40 & 60 & 30 \\ 30 & 20 & 40 \end{bmatrix} \times \begin{bmatrix} x_A \\ x_B \\ x_C \end{bmatrix} = \begin{bmatrix} 100 \\ 90 \\ 70 \end{bmatrix} \]

Matriks koefisien \(A\) dan vektor konstanta \(b\) adalah:

\[ A = \begin{bmatrix} 60 & 40 & 30 \\ 50 & 60 & 20 \\ 30 & 30 & 40 \end{bmatrix}, \quad b = \begin{bmatrix} 100 \\ 90 \\ 70 \end{bmatrix} \]

Menentukan Determinan Matriks A

Untuk menghitung determinan matriks \(A,\) kita gunakan rumus determinan untuk matriks 3x3:

\[ \text{det}(A) = 60 \cdot \text{det} \begin{bmatrix} 60 & 20 \\ 30 & 40 \end{bmatrix} - 40 \cdot \text{det} \begin{bmatrix} 50 & 20 \\ 30 & 40 \end{bmatrix} + 30 \cdot \text{det} \begin{bmatrix} 50 & 60 \\ 30 & 30 \end{bmatrix} \]

Hasil minor-matriks:

  1. \(\text{det} \begin{bmatrix} 60 & 20 \\ 30 & 40 \end{bmatrix} = 60 \times 40 - 20 \times 30 = 2400 - 600 = 1800\)
  2. \(\text{det} \begin{bmatrix} 50 & 20 \\ 30 & 40 \end{bmatrix} = 50 \times 40 - 20 \times 30 = 2000 - 600 = 1400\)
  3. \(\text{det} \begin{bmatrix} 50 & 60 \\ 30 & 30 \end{bmatrix} = 50 \times 30 - 60 \times 30 = 1500 - 1800 = -300\)

Sehingga determinannya adalah:

\[ \text{det}(A) = 60 \times 1800 - 40 \times 1400 + 30 \times (-300) = 108000 - 56000 - 9000 = 43200 \]

Menentukan Matriks Kofaktor A

Matriks kofaktor \(C_{ij}\) adalah:

\[ C = \begin{bmatrix} 1800 & -1400 & -300 \\ -700 & 1500 & -600 \\ -1000 & 300 & 1600 \end{bmatrix} \]

Menentukan Matriks Adjoin A

Matriks adjoin diperoleh dengan mentransposisikan matriks kofaktor:

\[ \text{adj}(A) = \begin{bmatrix} 1800 & -700 & -1000 \\ -1400 & 1500 & 300 \\ -300 & -600 & 1600 \end{bmatrix} \]

Menghitung Matriks Invers A

Matriks invers dapat dihitung dengan rumus:

\[ A^{-1} = \frac{1}{\text{det}(A)} \cdot \text{adj}(A) \]

Substitusi nilai determinan \(\text{det}(A) = 43200\):

\[ A^{-1} = \frac{1}{43200} \cdot \begin{bmatrix} 1800 & -700 & -1000 \\ -1400 & 1500 & 300 \\ -300 & -600 & 1600 \end{bmatrix} \]

Hasilnya adalah:

\[ A^{-1} = \begin{bmatrix} 0.04167 & -0.01620 & -0.02315 \\ -0.03241 & 0.03472 & 0.00694 \\ -0.00694 & -0.01389 & 0.03704 \end{bmatrix} \]

Menghitung Solusi

Sekarang, kita kalikan \(A^{-1}\) dengan vektor \(b\):

\[ \begin{aligned} A \cdot x &= b \\ x &= A^{-1} \cdot b \\ x &= \begin{bmatrix} 0.04167 & -0.01620 & -0.02315 \\ -0.03241 & 0.03472 & 0.00694 \\ -0.00694 & -0.01389 & 0.03704 \end{bmatrix} \cdot \begin{bmatrix} 100 \\ 90 \\ 70 \end{bmatrix}\\ \begin{bmatrix} x_A \\ x_B \\ x_C \end{bmatrix} &= \begin{bmatrix} 1.09302 \\ 0.37209 \\ 0.65116 \end{bmatrix} \end{aligned} \]

Hasil Akhir

Solusi untuk \(x_A, x_B,\) dan \(x_C\) adalah:

  • \(x_A = 1.093\)
  • \(x_B = 0.372\)
  • \(x_C = 0.651\)

Jadi, jumlah bijih yang harus diambil dari masing-masing lokasi adalah:

  • Lokasi A: 5.3 ton
  • Lokasi B: 1.2 ton
  • Lokasi C: 5.3 ton

Soal 2 (30%) (Transformasi)

Sebuah perusahaan tambang sedang melakukan pemetaan 3D dari tiga titik tambang potensial untuk mengevaluasi formasi geologi di bawah permukaan tanah. Titik-titik ini ditentukan dalam sistem koordinat 3D sebagai berikut:

  • Titik P: (10, 20, 30)
  • Titik Q: (15, 25, 35)
  • Titik R: (20, 30, 40)

Agar pemetaan ini sesuai dengan sistem koordinat pabrik pengolahan, perusahaan perlu melakukan transformasi pada titik-titik tersebut dengan menerapkan rotasi dan skala.

  1. Matriks Transformasi Rotasi 3D: Untuk memutar titik-titik ini di sekitar sumbu \(z\) sebesar 45 derajat, perusahaan menggunakan matriks rotasi sebagai berikut:

    \[ R_z = \begin{bmatrix} \cos 45^\circ & -\sin 45^\circ & 0 \\ \sin 45^\circ & \cos 45^\circ & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 1 \end{bmatrix} \]

  2. Matriks Transformasi Skala: Setelah rotasi, titik-titik juga akan di-skala dengan faktor 2 pada sumbu \(x\), faktor 1 pada sumbu \(y\), dan faktor 0.5 pada sumbu \(z\). Matriks skala ini dinyatakan sebagai:

    \[ S = \begin{bmatrix} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \]

  3. Transformasi Akhir: Transformasi akhir yang diterapkan pada setiap titik adalah hasil perkalian matriks rotasi dan skala:

    \[ T = S \cdot R_z \]

Pertanyaan:

  1. Tentukan koordinat baru dari titik-titik \(P\), \(Q\), dan \(R\) setelah transformasi \(T\) diterapkan.
  2. Gambarkan perubahan posisi titik-titik ini dalam ruang 3D sebelum dan setelah transformasi.
  3. Analisis: Apakah transformasi ini lebih mengarah pada kompresi, ekspansi, atau rotasi pada data lokasi tambang? Jelaskan hasil yang Anda peroleh.

Penyelesain 2

Menentukan Matriks Transformasi

Matriks Rotasi 3D:

Rotasi sebesar 45 derajat di sekitar sumbu \(z\) dapat dinyatakan dengan matriks rotasi \(R_z\) sebagai berikut:

\[ R_z = \begin{bmatrix} \cos 45^\circ & -\sin 45^\circ & 0 \\ \sin 45^\circ & \cos 45^\circ & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 1 \end{bmatrix} \]

Dengan nilai numerik: \[ \cos 45^\circ = \frac{\sqrt{2}}{2} \quad \text{dan} \quad \sin 45^\circ = \frac{\sqrt{2}}{2} \]

Matriks Skala:

Skala pada sumbu \(x\), \(y\), dan \(z\) masing-masing dengan faktor 2, 1, dan 0.5 dinyatakan dengan matriks skala \(S\):

\[ S = \begin{bmatrix} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \]

Matriks Transformasi Akhir:

Transformasi akhir adalah hasil perkalian matriks skala dan matriks rotasi:

\[ T = S \cdot R_z \]

Maka:

\[ T = \begin{bmatrix} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \cdot \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 1 \end{bmatrix} \]

Hasil perkaliannya adalah:

\[ T = \begin{bmatrix} 2 \cdot \frac{\sqrt{2}}{2} & 2 \cdot -\frac{\sqrt{2}}{2} & 0 \\ 1 \cdot \frac{\sqrt{2}}{2} & 1 \cdot \frac{\sqrt{2}}{2} & 0 \\ 0 \cdot \frac{\sqrt{2}}{2} & 0 \cdot \frac{\sqrt{2}}{2} & 0.5 \end{bmatrix} \]

\[ T = \begin{bmatrix} \sqrt{2} & -\sqrt{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \]

Menerapkan Transformasi pada Titik-Titik

Sekarang kita akan menerapkan transformasi \(T\) pada titik \(P\), \(Q\), dan \(R\).

Titik P: (10, 20, 30)

Titik \(P'\) setelah transformasi \(T\) adalah:

\[ P' = T \cdot P = \begin{bmatrix} \sqrt{2} & -\sqrt{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \cdot \begin{bmatrix} 10 \\ 20 \\ 30 \end{bmatrix} \]

Perkalian matriks menghasilkan:

\[ P' = \begin{bmatrix} \sqrt{2} \cdot 10 + -\sqrt{2} \cdot 20 + 0 \cdot 30 \\ \frac{\sqrt{2}}{2} \cdot 10 + \frac{\sqrt{2}}{2} \cdot 20 + 0 \cdot 30 \\ 0 \cdot 10 + 0 \cdot 20 + 0.5 \cdot 30 \end{bmatrix} \]

\[ P' = \begin{bmatrix} 10\sqrt{2} - 20\sqrt{2} \\ 5\sqrt{2} + 10\sqrt{2} \\ 15 \end{bmatrix} \]

\[ P' = \begin{bmatrix} -10\sqrt{2} \\ 15\sqrt{2} \\ 15 \end{bmatrix} \]

Titik Q: (15, 25, 35)

Titik \(Q'\) setelah transformasi \(T\) adalah:

\[ Q' = T \cdot Q = \begin{bmatrix} \sqrt{2} & -\sqrt{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \cdot \begin{bmatrix} 15 \\ 25 \\ 35 \end{bmatrix} \]

\[ Q' = \begin{bmatrix} \sqrt{2} \cdot 15 + -\sqrt{2} \cdot 25 + 0 \cdot 35 \\ \frac{\sqrt{2}}{2} \cdot 15 + \frac{\sqrt{2}}{2} \cdot 25 + 0 \cdot 35 \\ 0 \cdot 15 + 0 \cdot 25 + 0.5 \cdot 35 \end{bmatrix} \]

\[ Q' = \begin{bmatrix} 15\sqrt{2} - 25\sqrt{2} \\ 7.5\sqrt{2} + 12.5\sqrt{2} \\ 17.5 \end{bmatrix} \]

\[ Q' = \begin{bmatrix} -10\sqrt{2} \\ 20\sqrt{2} \\ 17.5 \end{bmatrix} \]

Titik R: (20, 30, 40)

Titik \(R'\) setelah transformasi \(T\) adalah:

\[ R' = T \cdot R = \begin{bmatrix} \sqrt{2} & -\sqrt{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 0.5 \end{bmatrix} \cdot \begin{bmatrix} 20 \\ 30 \\ 40 \end{bmatrix} \]

\[ R' = \begin{bmatrix} \sqrt{2} \cdot 20 + -\sqrt{2} \cdot 30 + 0 \cdot 40 \\ \frac{\sqrt{2}}{2} \cdot 20 + \frac{\sqrt{2}}{2} \cdot 30 + 0 \cdot 40 \\ 0 \cdot 20 + 0 \cdot 30 + 0.5 \cdot 40 \end{bmatrix} \]

\[ R' = \begin{bmatrix} 20\sqrt{2} - 30\sqrt{2} \\ 10\sqrt{2} + 15\sqrt{2} \\ 20 \end{bmatrix} \]

\[ R' = \begin{bmatrix} -10\sqrt{2} \\ 25\sqrt{2} \\ 20 \end{bmatrix} \]

Analisis Transformasi

  • Rotasi: Matriks rotasi \(R_z\) telah memutar titik-titik di sekitar sumbu \(z\) sebesar 45 derajat.
  • Skala: Matriks skala \(S\) memperbesar titik-titik pada sumbu \(x\) dengan faktor 2, mempertahankan skala pada sumbu \(y\) (faktor 1), dan mengecilkan titik-titik pada sumbu \(z\) dengan faktor 0.5.

Analisis Ekspansi dan Kompresi:

  • Pada sumbu \(x\), faktor skala 2 menyebabkan ekspansi (memperbesar jarak titik pada sumbu \(x\)).
  • Pada sumbu \(y\), faktor skala 1 tidak menyebabkan perubahan skala.
  • Pada sumbu \(z\), faktor skala 0.5 menyebabkan kompresi (memperkecil jarak titik pada sumbu \(z\)).

Jadi, transformasi ini lebih mengarah pada ekspansi di sumbu \(x\), kompresi di sumbu \(z\), dan tidak ada perubahan pada sumbu \(y\).

Hasil Akhir Titik-Titik

  • Titik \(P'\): \(\begin{bmatrix} -10\sqrt{2} \\ 15\sqrt{2} \\ 15 \end{bmatrix}\)
  • Titik \(Q'\): \(\begin{bmatrix} -10\sqrt{2} \\ 20\sqrt{2} \\ 17.5 \end{bmatrix}\)
  • Titik \(R'\): \(\begin{bmatrix} -10\sqrt{2} \\ 25\sqrt{2} \\ 20 \end{bmatrix}\)

Soal 3 (40%) (Nilai Eigen dan Vektor Eigen)

Perusahaan tambang XYZ sedang melakukan analisis stabilitas pada tiga lapisan struktur batuan di area tambang. Tim geoteknik perusahaan perlu menentukan pola pergerakan dari setiap lapisan batuan ketika terkena tekanan untuk memahami risiko longsor atau keruntuhan. Data ini disajikan dalam bentuk matriks transformasi yang menggambarkan respons deformasi dari ketiga lapisan batuan terhadap tekanan.

Matriks transformasi yang menggambarkan hubungan deformasi antar lapisan batuan adalah sebagai berikut:

\[ A = \begin{bmatrix} 4 & -2 & 1 \\ -2 & 3 & -1 \\ 1 & -1 & 2 \end{bmatrix} \]

Pertanyaan:

  1. Tentukan nilai eigen dari matriks \(A\) dan interpretasikan nilai tersebut dalam konteks stabilitas struktur batuan.

  2. Tentukan vektor eigen yang terkait dengan masing-masing nilai eigen dan interpretasikan artinya dalam konteks pergerakan struktur batuan. Misalnya, arah vektor eigen menunjukkan arah deformasi yang dominan pada lapisan batuan.

  3. Berdasarkan nilai dan vektor eigen yang diperoleh, diskusikan apakah lapisan batuan memiliki arah pergerakan yang stabil atau tidak stabil ketika terkena tekanan dari berbagai arah.

Penyelesaian 3

Matriks Transformasi

Matriks transformasi \(A\) yang menggambarkan hubungan deformasi antar lapisan batuan adalah sebagai berikut:

\[ A = \begin{bmatrix} 4 & -2 & 1 \\ -2 & 3 & -1 \\ 1 & -1 & 2 \end{bmatrix} \]

Menentukan Nilai Eigen dari Matriks \(A\)

Untuk menentukan nilai eigen (\(\lambda\)) dari matriks \(A\), kita perlu menyelesaikan persamaan karakteristik:

\[ \text{det}(A - \lambda I) = 0 \]

Dimana \(I\) adalah matriks identitas dan \(\lambda\) adalah nilai eigen. Matriks \(A - \lambda I\) adalah:

\[ A - \lambda I = \begin{bmatrix} 4-\lambda & -2 & 1 \\ -2 & 3-\lambda & -1 \\ 1 & -1 & 2-\lambda \end{bmatrix} \]

Untuk mencari determinannya, kita hitung determinan dari matriks \(A - \lambda I\):

Langkah 1: Matriks \(A - \lambda I\): \[ A - \lambda I = \begin{bmatrix} 4-\lambda & -2 & 1 \\ -2 & 3-\lambda & -1 \\ 1 & -1 & 2-\lambda \end{bmatrix} \]

Langkah 2: Ekspansi Determinan: \[ \det(A - \lambda I) = \begin{vmatrix} 4-\lambda & -2 & 1 \\ -2 & 3-\lambda & -1 \\ 1 & -1 & 2-\lambda \end{vmatrix} \]

Gunakan ekspansi baris pertama: \[ \det(A - \lambda I) = (4-\lambda) \begin{vmatrix} 3-\lambda & -1 \\ -1 & 2-\lambda \end{vmatrix} - (-2) \begin{vmatrix} -2 & -1 \\ 1 & 2-\lambda \end{vmatrix} + 1 \begin{vmatrix} -2 & 3-\lambda \\ 1 & -1 \end{vmatrix} \]

Langkah 3: Hitung Sub-determinan:

  1. Sub-determinan pertama: \[ \begin{vmatrix} 3-\lambda & -1 \\ -1 & 2-\lambda \end{vmatrix} = (3-\lambda)(2-\lambda) - (-1)(-1) = (3-\lambda)(2-\lambda) - 1 \] \[ = 6 - 5\lambda + \lambda^2 - 1 = \lambda^2 - 5\lambda + 5 \]

  2. Sub-determinan kedua: \[ \begin{vmatrix} -2 & -1 \\ 1 & 2-\lambda \end{vmatrix} = (-2)(2-\lambda) - (-1)(1) = -4 + 2\lambda + 1 = 2\lambda - 3 \]

  3. Sub-determinan ketiga: \[ \begin{vmatrix} -2 & 3-\lambda \\ 1 & -1 \end{vmatrix} = (-2)(-1) - (3-\lambda)(1) = 2 - (3-\lambda) = -1 + \lambda \]

Langkah 4: Substitusi hasil ke dalam determinan: \[ \det(A - \lambda I) = (4-\lambda)(\lambda^2 - 5\lambda + 5) + 2(2\lambda - 3) + 1(-1 + \lambda) \]

Langkah 5: Sederhanakan ekspresi:

  1. Hitung \((4-\lambda)(\lambda^2 - 5\lambda + 5)\): \[ (4-\lambda)(\lambda^2 - 5\lambda + 5) = 4(\lambda^2 - 5\lambda + 5) - \lambda(\lambda^2 - 5\lambda + 5) \] \[ = 4\lambda^2 - 20\lambda + 20 - \lambda^3 + 5\lambda^2 - 5\lambda \] \[ = -\lambda^3 + 9\lambda^2 - 25\lambda + 20 \]

  2. Hitung \(2(2\lambda - 3)\): \[ 2(2\lambda - 3) = 4\lambda - 6 \]

  3. Hitung \(1(-1 + \lambda)\): \[ 1(-1 + \lambda) = -1 + \lambda \]

Gabungkan semuanya: \[ \det(A - \lambda I) = -\lambda^3 + 9\lambda^2 - 25\lambda + 20 + 4\lambda - 6 - 1 + \lambda \]

\[ \det(A - \lambda I) = -\lambda^3 + 9\lambda^2 - 20\lambda + 13 \]

Hasil Akhir:

\[ \det(A - \lambda I) = -\lambda^3 + 9\lambda^2 - 20\lambda + 13 \]

Setelah menghitung dan menyederhanakan persamaan karakteristik, kita memperoleh persamaan kubik untuk \(\lambda\). Menyelesaikan persamaan kubik ini menghasilkan tiga nilai eigen \(\lambda_1\), \(\lambda_2\), dan \(\lambda_3\).

Menentukan Vektor Eigen Terkait dengan Setiap Nilai Eigen

Setelah kita memperoleh nilai eigen, kita dapat mencari vektor eigen yang terkait dengan masing-masing nilai eigen. Untuk setiap nilai eigen \(\lambda_i\), kita dapat mencari vektor eigen \(v_i\) dengan menyelesaikan persamaan:

\[ (A - \lambda_i I)v_i = 0 \]

Dengan menyelesaikan sistem persamaan linier ini, kita memperoleh vektor eigen untuk setiap nilai eigen \(\lambda_1\), \(\lambda_2\), dan \(\lambda_3\).

Interpretasi Hasil Nilai Eigen dan Vektor Eigen

  • Nilai Eigen: Nilai eigen menggambarkan besarnya deformasi yang terjadi pada lapisan batuan. Nilai eigen yang besar menunjukkan deformasi yang besar, sedangkan nilai eigen yang kecil atau negatif menunjukkan deformasi yang kecil atau arah yang lebih stabil.

  • Vektor Eigen: Arah vektor eigen menunjukkan arah deformasi dominan pada lapisan batuan. Jika vektor eigen terkait dengan nilai eigen positif dan besar, maka arah tersebut menunjukkan arah deformasi yang lebih dominan. Jika nilai eigen negatif, itu menunjukkan arah yang lebih stabil atau tidak banyak terjadi deformasi dalam arah tersebut.

Analisis Stabilitas:

  • Stabilitas Struktur Batuan: Jika semua nilai eigen positif, maka struktur batuan dapat dianggap stabil karena tidak ada arah yang menyebabkan keruntuhan atau longsor. Namun, jika ada nilai eigen negatif, maka ini menunjukkan adanya potensi pergerakan atau keruntuhan dalam arah tertentu.

  • Arah Pergerakan: Berdasarkan nilai dan vektor eigen, kita dapat menentukan arah pergerakan yang dominan dalam lapisan batuan. Jika vektor eigen menunjukkan arah horizontal, ini mungkin menunjukkan pergerakan horizontal lapisan batuan yang bisa mengarah pada potensi pergeseran atau longsoran.

Penjelasan dengan Contoh:

Misalkan kita telah menghitung nilai eigen dan vektor eigen dari matriks \(A\). Jika kita mendapatkan nilai eigen yang besar, seperti \(\lambda_1 = 5\), maka pergerakan struktur batuan pada arah yang terkait dengan vektor eigen untuk \(\lambda_1\) adalah lebih dominan. Jika ada nilai eigen negatif, seperti \(\lambda_2 = -2\), ini menunjukkan adanya kemungkinan pergerakan tidak stabil dalam arah yang terkait dengan vektor eigen tersebut.

Kesimpulan:

  • Stabilitas: Jika semua nilai eigen positif, maka struktur batuan relatif stabil.
  • Arah Pergerakan: Vektor eigen akan menunjukkan arah pergerakan dominan yang terjadi pada lapisan batuan saat terkena tekanan. Jika ada nilai eigen negatif, maka arah tersebut mungkin menunjukkan potensi keruntuhan atau pergerakan tidak stabil.

Dengan pendekatan ini, kita dapat mengevaluasi stabilitas dari struktur batuan di area tambang dan mengantisipasi potensi risiko longsoran atau keruntuhan yang mungkin terjadi.

LS0tCnRpdGxlOiAiSmF3YWJhbiBVVFMgR2FuamlsIFRBIDIzLzI0IgpzdWJ0aXRsZTogIk1hdHJpa3MgZGFuIFJ1YW5nIFZla3RvciIKYXV0aG9yOiAiQmFrdGkgU2lyZWdhciwgUy5TaS4sIE0uU2MiCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiCm91dHB1dDoKICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMKICAgIHNlbGZfY29udGFpbmVkOiB0cnVlCiAgICB0aHVtYm5haWxzOiB0cnVlCiAgICBsaWdodGJveDogdHJ1ZQogICAgZ2FsbGVyeTogdHJ1ZQogICAgbGliX2RpcjogbGlicwogICAgZGZfcHJpbnQ6ICJwYWdlZCIKICAgIGNvZGVfZm9sZGluZzogInNob3ciCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMKICAgIGNzczogInN0eWxlLmNzcyIKLS0tCgo8aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL2RzY2llbmNlbGFicy9pbWFnZXMvYmxvYi9tYXN0ZXIvQ292ZXJfQWxpbi5wbmc/cmF3PXRydWUiIHdpZHRoPSIzMDAiIHN0eWxlPSJkaXNwbGF5OiBibG9jazsgbWFyZ2luOiBhdXRvOyIgYWx0PSIiPgoKCiMgU29hbCAxICgzMCUpIChNYXRyaWtzL1NQTCkgCgpTZWJ1YWggcGVydXNhaGFhbiB0YW1iYW5nIG1lbWlsaWtpIHRpZ2EgbG9rYXNpIHBlbmFtYmFuZ2FuIGJpamloIChMb2thc2kgQSwgTG9rYXNpIEIsIGRhbiBMb2thc2kgQykuIFNldGlhcCBsb2thc2kgbWVuZ2Vrc3RyYWtzaSB0aWdhIGplbmlzIGJpamloIHlhbmcgYmVyYmVkYTogZW1hcywgcGVyYWssIGRhbiB0ZW1iYWdhLiBTZXRpYXAgamVuaXMgYmlqaWggaGFydXMgbWVtZW51aGkgcGVybWludGFhbiBoYXJpYW4gdGVydGVudHUsIGRhbiBtYXNpbmctbWFzaW5nIGxva2FzaSBoYW55YSBkYXBhdCBtZW5nZWtzdHJha3NpIGRhbGFtIGp1bWxhaCB0ZXJiYXRhcyBwZXIgaGFyaS4gQmVyaWt1dCBhZGFsYWggaW5mb3JtYXNpIGxlYmloIGxhbmp1dDoKCjEuICoqS2FwYXNpdGFzIFByb2R1a3NpIEhhcmlhbiBkaSBTZXRpYXAgTG9rYXNpIChkYWxhbSB0b24pOioqCgogICAtICoqTG9rYXNpIEE6KiogZGFwYXQgbWVuZ2Vrc3RyYWtzaSA2MCB0b24gZW1hcywgNDAgdG9uIHBlcmFrLCBkYW4gMzAgdG9uIHRlbWJhZ2EgcGVyIGhhcmkuCiAgIC0gKipMb2thc2kgQjoqKiBkYXBhdCBtZW5nZWtzdHJha3NpIDUwIHRvbiBlbWFzLCA2MCB0b24gcGVyYWssIGRhbiAyMCB0b24gdGVtYmFnYSBwZXIgaGFyaS4KICAgLSAqKkxva2FzaSBDOioqIGRhcGF0IG1lbmdla3N0cmFrc2kgMzAgdG9uIGVtYXMsIDMwIHRvbiBwZXJhaywgZGFuIDQwIHRvbiB0ZW1iYWdhIHBlciBoYXJpLgoKMi4gKipQZXJtaW50YWFuIEhhcmlhbiAoZGFsYW0gdG9uKToqKgoKICAgLSBFbWFzOiAxMDAgdG9uCiAgIC0gUGVyYWs6IDkwIHRvbgogICAtIFRlbWJhZ2E6IDcwIHRvbgoKQmVyYXBhIGp1bWxhaCBiaWppaCB5YW5nIGhhcnVzIGRpYW1iaWwgZGFyaSBzZXRpYXAgbG9rYXNpIGFnYXIgcGVybWludGFhbiBoYXJpYW4gdGVycGVudWhpIHRhbnBhIG1lbGViaWhpIGthcGFzaXRhcyBwZW5hbWJhbmdhbiBoYXJpYW4gZGkgc2V0aWFwIGxva2FzaT8KCioqUGVydGFueWFhbjoqKgoKMS4gU3VzdW4gc2lzdGVtIHBlcnNhbWFhbiB1bnR1ayBtZW5lbnR1a2FuIGp1bWxhaCBiaWppaCB5YW5nIGRpYW1iaWwgZGFyaSBzZXRpYXAgbG9rYXNpIHNlaGluZ2dhIHBlcm1pbnRhYW4gdGVycGVudWhpLgoyLiBTZWxlc2Fpa2FuIHNpc3RlbSBwZXJzYW1hYW4gaW5pIGRlbmdhbmcgbWVuZ2d1bmFrYW4gTWV0b2RlIEludmVycyBNYXRyaWtzIHVudHVrIG1lbmVtdWthbiBzb2x1c2kgeWFuZyBtZW1lbnVoaSBwZXJtaW50YWFuIGhhcmlhbi4KCiMgUGVueWVsZXNhaWFuIDEKCkRpYmVyaWthbiBzaXN0ZW0gcGVyc2FtYWFuOgoKJCQKXGJlZ2lue2FsaWduZWR9CjYweF9BICsgNTB4X0IgKyAzMHhfQyAmPSAxMDAgXHF1YWQgXHRleHR7KHBlcnNhbWFhbiB1bnR1ayBlbWFzKX0gXFwKNDB4X0EgKyA2MHhfQiArIDMweF9DICY9IDkwICBccXVhZCBcdGV4dHsocGVyc2FtYWFuIHVudHVrIHBlcmFrKX0gXFwKMzB4X0EgKyAyMHhfQiArIDQweF9DICY9IDcwICBccXVhZCBcdGV4dHsocGVyc2FtYWFuIHVudHVrIHRlbWJhZ2EpfQpcZW5ke2FsaWduZWR9CiQkCgojIyBNYXRyaWtzIEtvZWZpc2llbiBkYW4gVmVrdG9yIEtvbnN0YW50YQoKU2VoaW5nZ2EgcGVyc2FtYWFuIG1hdHJpa3NueWEgbWVuamFkaToKCiQkClxiZWdpbntibWF0cml4fSA2MCAmIDUwICYgMzAgXFwgNDAgJiA2MCAmIDMwIFxcIDMwICYgMjAgJiA0MCBcZW5ke2JtYXRyaXh9Clx0aW1lcwpcYmVnaW57Ym1hdHJpeH0geF9BIFxcIHhfQiBcXCB4X0MgXGVuZHtibWF0cml4fQo9ClxiZWdpbntibWF0cml4fSAxMDAgXFwgOTAgXFwgNzAgXGVuZHtibWF0cml4fQokJAoKTWF0cmlrcyBrb2VmaXNpZW4gJEEkIGRhbiB2ZWt0b3Iga29uc3RhbnRhICRiJCBhZGFsYWg6CgokJApBID0gXGJlZ2lue2JtYXRyaXh9IAo2MCAmIDQwICYgMzAgXFwKNTAgJiA2MCAmIDIwIFxcCjMwICYgMzAgJiA0MApcZW5ke2JtYXRyaXh9LCBccXVhZApiID0gXGJlZ2lue2JtYXRyaXh9IDEwMCBcXCA5MCBcXCA3MCBcZW5ke2JtYXRyaXh9CiQkCgojIyBNZW5lbnR1a2FuIERldGVybWluYW4gTWF0cmlrcyBBCgpVbnR1ayBtZW5naGl0dW5nIGRldGVybWluYW4gbWF0cmlrcyAkQSwkIGtpdGEgZ3VuYWthbiBydW11cyBkZXRlcm1pbmFuIHVudHVrIG1hdHJpa3MgM3gzOgoKJCQKXHRleHR7ZGV0fShBKSA9IDYwIFxjZG90IFx0ZXh0e2RldH0gXGJlZ2lue2JtYXRyaXh9IDYwICYgMjAgXFwgMzAgJiA0MCBcZW5ke2JtYXRyaXh9IC0gNDAgXGNkb3QgXHRleHR7ZGV0fSBcYmVnaW57Ym1hdHJpeH0gNTAgJiAyMCBcXCAzMCAmIDQwIFxlbmR7Ym1hdHJpeH0gKyAzMCBcY2RvdCBcdGV4dHtkZXR9IFxiZWdpbntibWF0cml4fSA1MCAmIDYwIFxcIDMwICYgMzAgXGVuZHtibWF0cml4fQokJAoKSGFzaWwgbWlub3ItbWF0cmlrczoKCjEuICRcdGV4dHtkZXR9IFxiZWdpbntibWF0cml4fSA2MCAmIDIwIFxcIDMwICYgNDAgXGVuZHtibWF0cml4fSA9IDYwIFx0aW1lcyA0MCAtIDIwIFx0aW1lcyAzMCA9IDI0MDAgLSA2MDAgPSAxODAwJAoyLiAkXHRleHR7ZGV0fSBcYmVnaW57Ym1hdHJpeH0gNTAgJiAyMCBcXCAzMCAmIDQwIFxlbmR7Ym1hdHJpeH0gPSA1MCBcdGltZXMgNDAgLSAyMCBcdGltZXMgMzAgPSAyMDAwIC0gNjAwID0gMTQwMCQKMy4gJFx0ZXh0e2RldH0gXGJlZ2lue2JtYXRyaXh9IDUwICYgNjAgXFwgMzAgJiAzMCBcZW5ke2JtYXRyaXh9ID0gNTAgXHRpbWVzIDMwIC0gNjAgXHRpbWVzIDMwID0gMTUwMCAtIDE4MDAgPSAtMzAwJAoKU2VoaW5nZ2EgZGV0ZXJtaW5hbm55YSBhZGFsYWg6CgokJApcdGV4dHtkZXR9KEEpID0gNjAgXHRpbWVzIDE4MDAgLSA0MCBcdGltZXMgMTQwMCArIDMwIFx0aW1lcyAoLTMwMCkgPSAxMDgwMDAgLSA1NjAwMCAtIDkwMDAgPSA0MzIwMAokJAoKIyMgTWVuZW50dWthbiBNYXRyaWtzIEtvZmFrdG9yIEEKCk1hdHJpa3Mga29mYWt0b3IgJENfe2lqfSQgYWRhbGFoOgoKJCQKQyA9IFxiZWdpbntibWF0cml4fSAKMTgwMCAmIC0xNDAwICYgLTMwMCBcXAotNzAwICYgMTUwMCAmIC02MDAgXFwKLTEwMDAgJiAzMDAgJiAxNjAwClxlbmR7Ym1hdHJpeH0KJCQKCiMjIE1lbmVudHVrYW4gTWF0cmlrcyBBZGpvaW4gQQoKTWF0cmlrcyBhZGpvaW4gZGlwZXJvbGVoIGRlbmdhbiBtZW50cmFuc3Bvc2lzaWthbiBtYXRyaWtzIGtvZmFrdG9yOgoKJCQKXHRleHR7YWRqfShBKSA9IFxiZWdpbntibWF0cml4fSAKMTgwMCAmIC03MDAgJiAtMTAwMCBcXAotMTQwMCAmIDE1MDAgJiAzMDAgXFwKLTMwMCAmIC02MDAgJiAxNjAwClxlbmR7Ym1hdHJpeH0KJCQKCiMjIE1lbmdoaXR1bmcgTWF0cmlrcyBJbnZlcnMgQQoKTWF0cmlrcyBpbnZlcnMgZGFwYXQgZGloaXR1bmcgZGVuZ2FuIHJ1bXVzOgoKJCQKQV57LTF9ID0gXGZyYWN7MX17XHRleHR7ZGV0fShBKX0gXGNkb3QgXHRleHR7YWRqfShBKQokJAoKU3Vic3RpdHVzaSBuaWxhaSBkZXRlcm1pbmFuICRcdGV4dHtkZXR9KEEpID0gNDMyMDAkOgoKJCQKQV57LTF9ID0gXGZyYWN7MX17NDMyMDB9IFxjZG90IFxiZWdpbntibWF0cml4fSAKMTgwMCAmIC03MDAgJiAtMTAwMCBcXAotMTQwMCAmIDE1MDAgJiAzMDAgXFwKLTMwMCAmIC02MDAgJiAxNjAwClxlbmR7Ym1hdHJpeH0KJCQKCkhhc2lsbnlhIGFkYWxhaDoKCiQkCkFeey0xfSA9IFxiZWdpbntibWF0cml4fSAKMC4wNDE2NyAmIC0wLjAxNjIwICYgLTAuMDIzMTUgXFwKLTAuMDMyNDEgJiAwLjAzNDcyICYgMC4wMDY5NCBcXAotMC4wMDY5NCAmIC0wLjAxMzg5ICYgMC4wMzcwNApcZW5ke2JtYXRyaXh9CiQkCgojIyBNZW5naGl0dW5nIFNvbHVzaQoKU2VrYXJhbmcsIGtpdGEga2FsaWthbiAkQV57LTF9JCBkZW5nYW4gdmVrdG9yICRiJDoKCiQkClxiZWdpbnthbGlnbmVkfQpBIFxjZG90IHggJj0gYiBcXAp4ICY9IEFeey0xfSBcY2RvdCBiIFxcCnggJj0KXGJlZ2lue2JtYXRyaXh9IAowLjA0MTY3ICYgLTAuMDE2MjAgJiAtMC4wMjMxNSBcXAotMC4wMzI0MSAmIDAuMDM0NzIgJiAwLjAwNjk0IFxcCi0wLjAwNjk0ICYgLTAuMDEzODkgJiAwLjAzNzA0ClxlbmR7Ym1hdHJpeH0KXGNkb3QgClxiZWdpbntibWF0cml4fSAxMDAgXFwgOTAgXFwgNzAgXGVuZHtibWF0cml4fVxcClxiZWdpbntibWF0cml4fSB4X0EgXFwgeF9CIFxcIHhfQyBcZW5ke2JtYXRyaXh9ICY9IFxiZWdpbntibWF0cml4fQoxLjA5MzAyIFxcCjAuMzcyMDkgXFwKMC42NTExNgpcZW5ke2JtYXRyaXh9ClxlbmR7YWxpZ25lZH0gCiQkCgojIyBIYXNpbCBBa2hpcgoKU29sdXNpIHVudHVrICR4X0EsIHhfQiwkIGRhbiAkeF9DJCBhZGFsYWg6CgotICR4X0EgPSAxLjA5MyQKLSAkeF9CID0gMC4zNzIkCi0gJHhfQyA9IDAuNjUxJAoKSmFkaSwganVtbGFoIGJpamloIHlhbmcgaGFydXMgZGlhbWJpbCBkYXJpIG1hc2luZy1tYXNpbmcgbG9rYXNpIGFkYWxhaDoKCi0gTG9rYXNpIEE6IDUuMyB0b24KLSBMb2thc2kgQjogMS4yIHRvbgotIExva2FzaSBDOiA1LjMgdG9uCgpgYGB7ciBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQojIE1hdHJpa3Mga29lZmlzaWVuIEEKQSA8LSBtYXRyaXgoYyg2MCwgNDAsIDMwLCAKICAgICAgICAgICAgICA1MCwgNjAsIDIwLCAKICAgICAgICAgICAgICAzMCwgMzAsIDQwKSwgbnJvdyA9IDMsIGJ5cm93ID0gVFJVRSkKCiMgVmVrdG9yIGtvbnN0YW50YSBiCmIgPC0gYygxMDAsIDkwLCA3MCkKCiMgTWVueWVsZXNhaWthbiBzaXN0ZW0gcGVyc2FtYWFuIEEgKiB4ID0gYgp4IDwtIHNvbHZlKEEsIGIpCgojIE1lbmFtcGlsa2FuIGhhc2lsCngKYGBgCgojIFNvYWwgMiAoMzAlKSAoVHJhbnNmb3JtYXNpKQoKU2VidWFoIHBlcnVzYWhhYW4gdGFtYmFuZyBzZWRhbmcgbWVsYWt1a2FuIHBlbWV0YWFuIDNEIGRhcmkgdGlnYSB0aXRpayB0YW1iYW5nIHBvdGVuc2lhbCB1bnR1ayBtZW5nZXZhbHVhc2kgZm9ybWFzaSBnZW9sb2dpIGRpIGJhd2FoIHBlcm11a2FhbiB0YW5haC4gVGl0aWstdGl0aWsgaW5pIGRpdGVudHVrYW4gZGFsYW0gc2lzdGVtIGtvb3JkaW5hdCAzRCBzZWJhZ2FpIGJlcmlrdXQ6CgotICoqVGl0aWsgUDoqKiAoMTAsIDIwLCAzMCkKLSAqKlRpdGlrIFE6KiogKDE1LCAyNSwgMzUpCi0gKipUaXRpayBSOioqICgyMCwgMzAsIDQwKQoKQWdhciBwZW1ldGFhbiBpbmkgc2VzdWFpIGRlbmdhbiBzaXN0ZW0ga29vcmRpbmF0IHBhYnJpayBwZW5nb2xhaGFuLCBwZXJ1c2FoYWFuIHBlcmx1IG1lbGFrdWthbiB0cmFuc2Zvcm1hc2kgcGFkYSB0aXRpay10aXRpayB0ZXJzZWJ1dCBkZW5nYW4gbWVuZXJhcGthbiAqKnJvdGFzaSoqIGRhbiAqKnNrYWxhKiouCgoKMS4gKipNYXRyaWtzIFRyYW5zZm9ybWFzaSBSb3Rhc2kgM0QqKjogVW50dWsgbWVtdXRhciB0aXRpay10aXRpayBpbmkgZGkgc2VraXRhciBzdW1idSAkeiQgc2ViZXNhciA0NSBkZXJhamF0LCBwZXJ1c2FoYWFuIG1lbmdndW5ha2FuIG1hdHJpa3Mgcm90YXNpIHNlYmFnYWkgYmVyaWt1dDoKCiAgICQkCiAgIFJfeiA9IFxiZWdpbntibWF0cml4fSBcY29zIDQ1XlxjaXJjICYgLVxzaW4gNDVeXGNpcmMgJiAwIFxcIFxzaW4gNDVeXGNpcmMgJiBcY29zIDQ1XlxjaXJjICYgMCBcXCAwICYgMCAmIDEgXGVuZHtibWF0cml4fSA9IFxiZWdpbntibWF0cml4fSBcZnJhY3tcc3FydHsyfX17Mn0gJiAtXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMCBcXCBcZnJhY3tcc3FydHsyfX17Mn0gJiBcZnJhY3tcc3FydHsyfX17Mn0gJiAwIFxcIDAgJiAwICYgMSBcZW5ke2JtYXRyaXh9CiAgICQkCgoyLiAqKk1hdHJpa3MgVHJhbnNmb3JtYXNpIFNrYWxhKio6IFNldGVsYWggcm90YXNpLCB0aXRpay10aXRpayBqdWdhIGFrYW4gZGktc2thbGEgZGVuZ2FuIGZha3RvciAyIHBhZGEgc3VtYnUgJHgkLCBmYWt0b3IgMSBwYWRhIHN1bWJ1ICR5JCwgZGFuIGZha3RvciAwLjUgcGFkYSBzdW1idSAkeiQuIE1hdHJpa3Mgc2thbGEgaW5pIGRpbnlhdGFrYW4gc2ViYWdhaToKCiAgICQkCiAgIFMgPSBcYmVnaW57Ym1hdHJpeH0gMiAmIDAgJiAwIFxcIDAgJiAxICYgMCBcXCAwICYgMCAmIDAuNSBcZW5ke2JtYXRyaXh9CiAgICQkCgozLiAqKlRyYW5zZm9ybWFzaSBBa2hpcioqOiBUcmFuc2Zvcm1hc2kgYWtoaXIgeWFuZyBkaXRlcmFwa2FuIHBhZGEgc2V0aWFwIHRpdGlrIGFkYWxhaCBoYXNpbCBwZXJrYWxpYW4gbWF0cmlrcyByb3Rhc2kgZGFuIHNrYWxhOgoKICAgJCQKICAgVCA9IFMgXGNkb3QgUl96CiAgICQkCgoqKlBlcnRhbnlhYW46KioKCjEuIFRlbnR1a2FuIGtvb3JkaW5hdCBiYXJ1IGRhcmkgdGl0aWstdGl0aWsgJFAkLCAkUSQsIGRhbiAkUiQgc2V0ZWxhaCB0cmFuc2Zvcm1hc2kgJFQkIGRpdGVyYXBrYW4uCjIuIEdhbWJhcmthbiBwZXJ1YmFoYW4gcG9zaXNpIHRpdGlrLXRpdGlrIGluaSBkYWxhbSBydWFuZyAzRCBzZWJlbHVtIGRhbiBzZXRlbGFoIHRyYW5zZm9ybWFzaS4KMy4gQW5hbGlzaXM6IEFwYWthaCB0cmFuc2Zvcm1hc2kgaW5pIGxlYmloIG1lbmdhcmFoIHBhZGEga29tcHJlc2ksIGVrc3BhbnNpLCBhdGF1IHJvdGFzaSBwYWRhIGRhdGEgbG9rYXNpIHRhbWJhbmc/IEplbGFza2FuIGhhc2lsIHlhbmcgQW5kYSBwZXJvbGVoLgoKIyBQZW55ZWxlc2FpbiAyCgojIyBNZW5lbnR1a2FuIE1hdHJpa3MgVHJhbnNmb3JtYXNpCgoqKk1hdHJpa3MgUm90YXNpIDNEKio6IAoKUm90YXNpIHNlYmVzYXIgNDUgZGVyYWphdCBkaSBzZWtpdGFyIHN1bWJ1ICR6JCBkYXBhdCBkaW55YXRha2FuIGRlbmdhbiBtYXRyaWtzIHJvdGFzaSAkUl96JCBzZWJhZ2FpIGJlcmlrdXQ6CgokJApSX3ogPSBcYmVnaW57Ym1hdHJpeH0gXGNvcyA0NV5cY2lyYyAmIC1cc2luIDQ1XlxjaXJjICYgMCBcXCBcc2luIDQ1XlxjaXJjICYgXGNvcyA0NV5cY2lyYyAmIDAgXFwgMCAmIDAgJiAxIFxlbmR7Ym1hdHJpeH0gPSBcYmVnaW57Ym1hdHJpeH0gXGZyYWN7XHNxcnR7Mn19ezJ9ICYgLVxmcmFje1xzcXJ0ezJ9fXsyfSAmIDAgXFwgXGZyYWN7XHNxcnR7Mn19ezJ9ICYgXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMCBcXCAwICYgMCAmIDEgXGVuZHtibWF0cml4fQokJAoKRGVuZ2FuIG5pbGFpIG51bWVyaWs6CiQkClxjb3MgNDVeXGNpcmMgPSBcZnJhY3tcc3FydHsyfX17Mn0gXHF1YWQgXHRleHR7ZGFufSBccXVhZCBcc2luIDQ1XlxjaXJjID0gXGZyYWN7XHNxcnR7Mn19ezJ9CiQkCgoqKk1hdHJpa3MgU2thbGEqKjogCgpTa2FsYSBwYWRhIHN1bWJ1ICR4JCwgJHkkLCBkYW4gJHokIG1hc2luZy1tYXNpbmcgZGVuZ2FuIGZha3RvciAyLCAxLCBkYW4gMC41IGRpbnlhdGFrYW4gZGVuZ2FuIG1hdHJpa3Mgc2thbGEgJFMkOgoKJCQKUyA9IFxiZWdpbntibWF0cml4fSAyICYgMCAmIDAgXFwgMCAmIDEgJiAwIFxcIDAgJiAwICYgMC41IFxlbmR7Ym1hdHJpeH0KJCQKCioqTWF0cmlrcyBUcmFuc2Zvcm1hc2kgQWtoaXIqKjoKClRyYW5zZm9ybWFzaSBha2hpciBhZGFsYWggaGFzaWwgcGVya2FsaWFuIG1hdHJpa3Mgc2thbGEgZGFuIG1hdHJpa3Mgcm90YXNpOgoKJCQKVCA9IFMgXGNkb3QgUl96CiQkCgpNYWthOgoKJCQKVCA9IFxiZWdpbntibWF0cml4fSAyICYgMCAmIDAgXFwgMCAmIDEgJiAwIFxcIDAgJiAwICYgMC41IFxlbmR7Ym1hdHJpeH0KXGNkb3QKXGJlZ2lue2JtYXRyaXh9IFxmcmFje1xzcXJ0ezJ9fXsyfSAmIC1cZnJhY3tcc3FydHsyfX17Mn0gJiAwIFxcIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIDAgXFwgMCAmIDAgJiAxIFxlbmR7Ym1hdHJpeH0KJCQKCkhhc2lsIHBlcmthbGlhbm55YSBhZGFsYWg6CgokJApUID0gXGJlZ2lue2JtYXRyaXh9IDIgXGNkb3QgXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMiBcY2RvdCAtXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMCBcXCAxIFxjZG90IFxmcmFje1xzcXJ0ezJ9fXsyfSAmIDEgXGNkb3QgXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMCBcXCAwIFxjZG90IFxmcmFje1xzcXJ0ezJ9fXsyfSAmIDAgXGNkb3QgXGZyYWN7XHNxcnR7Mn19ezJ9ICYgMC41IFxlbmR7Ym1hdHJpeH0KJCQKCiQkClQgPSBcYmVnaW57Ym1hdHJpeH0gXHNxcnR7Mn0gJiAtXHNxcnR7Mn0gJiAwIFxcIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIDAgXFwgMCAmIDAgJiAwLjUgXGVuZHtibWF0cml4fQokJAoKIyMgTWVuZXJhcGthbiBUcmFuc2Zvcm1hc2kgcGFkYSBUaXRpay1UaXRpawoKU2VrYXJhbmcga2l0YSBha2FuIG1lbmVyYXBrYW4gdHJhbnNmb3JtYXNpICRUJCBwYWRhIHRpdGlrICRQJCwgJFEkLCBkYW4gJFIkLgoKKipUaXRpayBQKio6ICgxMCwgMjAsIDMwKQoKVGl0aWsgJFAnJCBzZXRlbGFoIHRyYW5zZm9ybWFzaSAkVCQgYWRhbGFoOgoKJCQKUCcgPSBUIFxjZG90IFAgPSBcYmVnaW57Ym1hdHJpeH0gXHNxcnR7Mn0gJiAtXHNxcnR7Mn0gJiAwIFxcIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIFxmcmFje1xzcXJ0ezJ9fXsyfSAmIDAgXFwgMCAmIDAgJiAwLjUgXGVuZHtibWF0cml4fSBcY2RvdCBcYmVnaW57Ym1hdHJpeH0gMTAgXFwgMjAgXFwgMzAgXGVuZHtibWF0cml4fQokJAoKUGVya2FsaWFuIG1hdHJpa3MgbWVuZ2hhc2lsa2FuOgoKJCQKUCcgPSBcYmVnaW57Ym1hdHJpeH0gXHNxcnR7Mn0gXGNkb3QgMTAgKyAtXHNxcnR7Mn0gXGNkb3QgMjAgKyAwIFxjZG90IDMwIFxcIFxmcmFje1xzcXJ0ezJ9fXsyfSBcY2RvdCAxMCArIFxmcmFje1xzcXJ0ezJ9fXsyfSBcY2RvdCAyMCArIDAgXGNkb3QgMzAgXFwgMCBcY2RvdCAxMCArIDAgXGNkb3QgMjAgKyAwLjUgXGNkb3QgMzAgXGVuZHtibWF0cml4fQokJAoKJCQKUCcgPSBcYmVnaW57Ym1hdHJpeH0gMTBcc3FydHsyfSAtIDIwXHNxcnR7Mn0gXFwgNVxzcXJ0ezJ9ICsgMTBcc3FydHsyfSBcXCAxNSBcZW5ke2JtYXRyaXh9CiQkCgokJApQJyA9IFxiZWdpbntibWF0cml4fSAtMTBcc3FydHsyfSBcXCAxNVxzcXJ0ezJ9IFxcIDE1IFxlbmR7Ym1hdHJpeH0KJCQKCioqVGl0aWsgUSoqOiAoMTUsIDI1LCAzNSkKClRpdGlrICRRJyQgc2V0ZWxhaCB0cmFuc2Zvcm1hc2kgJFQkIGFkYWxhaDoKCiQkClEnID0gVCBcY2RvdCBRID0gXGJlZ2lue2JtYXRyaXh9IFxzcXJ0ezJ9ICYgLVxzcXJ0ezJ9ICYgMCBcXCBcZnJhY3tcc3FydHsyfX17Mn0gJiBcZnJhY3tcc3FydHsyfX17Mn0gJiAwIFxcIDAgJiAwICYgMC41IFxlbmR7Ym1hdHJpeH0gXGNkb3QgXGJlZ2lue2JtYXRyaXh9IDE1IFxcIDI1IFxcIDM1IFxlbmR7Ym1hdHJpeH0KJCQKCiQkClEnID0gXGJlZ2lue2JtYXRyaXh9IFxzcXJ0ezJ9IFxjZG90IDE1ICsgLVxzcXJ0ezJ9IFxjZG90IDI1ICsgMCBcY2RvdCAzNSBcXCBcZnJhY3tcc3FydHsyfX17Mn0gXGNkb3QgMTUgKyBcZnJhY3tcc3FydHsyfX17Mn0gXGNkb3QgMjUgKyAwIFxjZG90IDM1IFxcIDAgXGNkb3QgMTUgKyAwIFxjZG90IDI1ICsgMC41IFxjZG90IDM1IFxlbmR7Ym1hdHJpeH0KJCQKCiQkClEnID0gXGJlZ2lue2JtYXRyaXh9IDE1XHNxcnR7Mn0gLSAyNVxzcXJ0ezJ9IFxcIDcuNVxzcXJ0ezJ9ICsgMTIuNVxzcXJ0ezJ9IFxcIDE3LjUgXGVuZHtibWF0cml4fQokJAoKJCQKUScgPSBcYmVnaW57Ym1hdHJpeH0gLTEwXHNxcnR7Mn0gXFwgMjBcc3FydHsyfSBcXCAxNy41IFxlbmR7Ym1hdHJpeH0KJCQKCioqVGl0aWsgUioqOiAoMjAsIDMwLCA0MCkKClRpdGlrICRSJyQgc2V0ZWxhaCB0cmFuc2Zvcm1hc2kgJFQkIGFkYWxhaDoKCiQkClInID0gVCBcY2RvdCBSID0gXGJlZ2lue2JtYXRyaXh9IFxzcXJ0ezJ9ICYgLVxzcXJ0ezJ9ICYgMCBcXCBcZnJhY3tcc3FydHsyfX17Mn0gJiBcZnJhY3tcc3FydHsyfX17Mn0gJiAwIFxcIDAgJiAwICYgMC41IFxlbmR7Ym1hdHJpeH0gXGNkb3QgXGJlZ2lue2JtYXRyaXh9IDIwIFxcIDMwIFxcIDQwIFxlbmR7Ym1hdHJpeH0KJCQKCiQkClInID0gXGJlZ2lue2JtYXRyaXh9IFxzcXJ0ezJ9IFxjZG90IDIwICsgLVxzcXJ0ezJ9IFxjZG90IDMwICsgMCBcY2RvdCA0MCBcXCBcZnJhY3tcc3FydHsyfX17Mn0gXGNkb3QgMjAgKyBcZnJhY3tcc3FydHsyfX17Mn0gXGNkb3QgMzAgKyAwIFxjZG90IDQwIFxcIDAgXGNkb3QgMjAgKyAwIFxjZG90IDMwICsgMC41IFxjZG90IDQwIFxlbmR7Ym1hdHJpeH0KJCQKCiQkClInID0gXGJlZ2lue2JtYXRyaXh9IDIwXHNxcnR7Mn0gLSAzMFxzcXJ0ezJ9IFxcIDEwXHNxcnR7Mn0gKyAxNVxzcXJ0ezJ9IFxcIDIwIFxlbmR7Ym1hdHJpeH0KJCQKCiQkClInID0gXGJlZ2lue2JtYXRyaXh9IC0xMFxzcXJ0ezJ9IFxcIDI1XHNxcnR7Mn0gXFwgMjAgXGVuZHtibWF0cml4fQokJAoKIyMgQW5hbGlzaXMgVHJhbnNmb3JtYXNpCgotICoqUm90YXNpKio6IE1hdHJpa3Mgcm90YXNpICRSX3okIHRlbGFoIG1lbXV0YXIgdGl0aWstdGl0aWsgZGkgc2VraXRhciBzdW1idSAkeiQgc2ViZXNhciA0NSBkZXJhamF0LgotICoqU2thbGEqKjogTWF0cmlrcyBza2FsYSAkUyQgbWVtcGVyYmVzYXIgdGl0aWstdGl0aWsgcGFkYSBzdW1idSAkeCQgZGVuZ2FuIGZha3RvciAyLCBtZW1wZXJ0YWhhbmthbiBza2FsYSBwYWRhIHN1bWJ1ICR5JCAoZmFrdG9yIDEpLCBkYW4gbWVuZ2VjaWxrYW4gdGl0aWstdGl0aWsgcGFkYSBzdW1idSAkeiQgZGVuZ2FuIGZha3RvciAwLjUuCgoqKkFuYWxpc2lzIEVrc3BhbnNpIGRhbiBLb21wcmVzaSoqOgoKLSBQYWRhIHN1bWJ1ICR4JCwgZmFrdG9yIHNrYWxhIDIgbWVueWViYWJrYW4gZWtzcGFuc2kgKG1lbXBlcmJlc2FyIGphcmFrIHRpdGlrIHBhZGEgc3VtYnUgJHgkKS4KLSBQYWRhIHN1bWJ1ICR5JCwgZmFrdG9yIHNrYWxhIDEgdGlkYWsgbWVueWViYWJrYW4gcGVydWJhaGFuIHNrYWxhLgotIFBhZGEgc3VtYnUgJHokLCBmYWt0b3Igc2thbGEgMC41IG1lbnllYmFia2FuIGtvbXByZXNpIChtZW1wZXJrZWNpbCBqYXJhayB0aXRpayBwYWRhIHN1bWJ1ICR6JCkuCgpKYWRpLCB0cmFuc2Zvcm1hc2kgaW5pIGxlYmloIG1lbmdhcmFoIHBhZGEgKipla3NwYW5zaSoqIGRpIHN1bWJ1ICR4JCwgKiprb21wcmVzaSoqIGRpIHN1bWJ1ICR6JCwgZGFuIHRpZGFrIGFkYSBwZXJ1YmFoYW4gcGFkYSBzdW1idSAkeSQuCgojIyBIYXNpbCBBa2hpciBUaXRpay1UaXRpawoKLSBUaXRpayAkUCckOiAkXGJlZ2lue2JtYXRyaXh9IC0xMFxzcXJ0ezJ9IFxcIDE1XHNxcnR7Mn0gXFwgMTUgXGVuZHtibWF0cml4fSQKLSBUaXRpayAkUSckOiAkXGJlZ2lue2JtYXRyaXh9IC0xMFxzcXJ0ezJ9IFxcIDIwXHNxcnR7Mn0gXFwgMTcuNSBcZW5ke2JtYXRyaXh9JAotIFRpdGlrICRSJyQ6ICRcYmVnaW57Ym1hdHJpeH0gLTEwXHNxcnR7Mn0gXFwgMjVcc3FydHsyfSBcXCAyMCBcZW5ke2JtYXRyaXh9JAoKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmxpYnJhcnkocGxvdGx5KQoKIyBLb29yZGluYXQgVGl0aWsgQXdhbApQIDwtIGMoMTAsIDIwLCAzMCkKUSA8LSBjKDE1LCAyNSwgMzUpClIgPC0gYygyMCwgMzAsIDQwKQoKIyBNYXRyaWtzIFRyYW5zZm9ybWFzaSBSb3Rhc2kgKFJvdGFzaSBzZWtpdGFyIHN1bWJ1IHogc2ViZXNhciA0NSBkZXJhamF0KQpSeiA8LSBtYXRyaXgoYyhjb3MocGkvNCksIC1zaW4ocGkvNCksIDAsIAogICAgICAgICAgICAgICBzaW4ocGkvNCksIGNvcyhwaS80KSwgMCwgCiAgICAgICAgICAgICAgIDAsIDAsIDEpLCBucm93ID0gMywgYnlyb3cgPSBUUlVFKQoKIyBNYXRyaWtzIFNrYWxhClMgPC0gbWF0cml4KGMoMiwgMCwgMCwgCiAgICAgICAgICAgICAgMCwgMSwgMCwgCiAgICAgICAgICAgICAgMCwgMCwgMC41KSwgbnJvdyA9IDMsIGJ5cm93ID0gVFJVRSkKCiMgTWF0cmlrcyBUcmFuc2Zvcm1hc2kgQWtoaXIgKFNrYWxhICogUm90YXNpKQpUIDwtIFMgJSolIFJ6CgojIEtvb3JkaW5hdCBUaXRpayBTZXRlbGFoIFRyYW5zZm9ybWFzaQpQX25ldyA8LSBUICUqJSBQClFfbmV3IDwtIFQgJSolIFEKUl9uZXcgPC0gVCAlKiUgUgoKIyBQbG90IDNEIHVudHVrIFRpdGlrIEF3YWwgZGFuIFRpdGlrIFNldGVsYWggVHJhbnNmb3JtYXNpCmZpZyA8LSBwbG90X2x5KHR5cGUgPSAnc2NhdHRlcjNkJywgbW9kZSA9ICdtYXJrZXJzK3RleHQrbGluZXMnKQoKIyBUaXRpayBBd2FsIChQLCBRLCBSKQpmaWcgPC0gZmlnICU+JSBhZGRfdHJhY2UoCiAgeCA9IGMoUFsxXSwgUVsxXSwgUlsxXSksCiAgeSA9IGMoUFsyXSwgUVsyXSwgUlsyXSksCiAgeiA9IGMoUFszXSwgUVszXSwgUlszXSksCiAgdGV4dCA9IGMoIlAiLCAiUSIsICJSIiksCiAgbWFya2VyID0gbGlzdChzaXplID0gNSwgY29sb3IgPSAnYmx1ZScpLAogIG5hbWUgPSAiVGl0aWsgQXdhbCIKKQoKIyBUaXRpayBTZXRlbGFoIFRyYW5zZm9ybWFzaSAoUCcsIFEnLCBSJykKZmlnIDwtIGZpZyAlPiUgYWRkX3RyYWNlKAogIHggPSBjKFBfbmV3WzFdLCBRX25ld1sxXSwgUl9uZXdbMV0pLAogIHkgPSBjKFBfbmV3WzJdLCBRX25ld1syXSwgUl9uZXdbMl0pLAogIHogPSBjKFBfbmV3WzNdLCBRX25ld1szXSwgUl9uZXdbM10pLAogIHRleHQgPSBjKCJQJyIsICJRJyIsICJSJyIpLAogIG1hcmtlciA9IGxpc3Qoc2l6ZSA9IDUsIGNvbG9yID0gJ3JlZCcpLAogIG5hbWUgPSAiVGl0aWsgU2V0ZWxhaCBUcmFuc2Zvcm1hc2kiCikKCiMgR2FyaXMgQXJhaCBQZXJ1YmFoYW4KZmlnIDwtIGZpZyAlPiUgYWRkX3RyYWNlKAogIHggPSBjKFBbMV0sIFBfbmV3WzFdKSwKICB5ID0gYyhQWzJdLCBQX25ld1syXSksCiAgeiA9IGMoUFszXSwgUF9uZXdbM10pLAogIGxpbmUgPSBsaXN0KGNvbG9yID0gJ2JsdWUnLCB3aWR0aCA9IDIsIGRhc2ggPSAnZG90JyksCiAgbmFtZSA9ICJBcmFoIFBlcnViYWhhbiBQIgopCgpmaWcgPC0gZmlnICU+JSBhZGRfdHJhY2UoCiAgeCA9IGMoUVsxXSwgUV9uZXdbMV0pLAogIHkgPSBjKFFbMl0sIFFfbmV3WzJdKSwKICB6ID0gYyhRWzNdLCBRX25ld1szXSksCiAgbGluZSA9IGxpc3QoY29sb3IgPSAnYmx1ZScsIHdpZHRoID0gMiwgZGFzaCA9ICdkb3QnKSwKICBuYW1lID0gIkFyYWggUGVydWJhaGFuIFEiCikKCmZpZyA8LSBmaWcgJT4lIGFkZF90cmFjZSgKICB4ID0gYyhSWzFdLCBSX25ld1sxXSksCiAgeSA9IGMoUlsyXSwgUl9uZXdbMl0pLAogIHogPSBjKFJbM10sIFJfbmV3WzNdKSwKICBsaW5lID0gbGlzdChjb2xvciA9ICdibHVlJywgd2lkdGggPSAyLCBkYXNoID0gJ2RvdCcpLAogIG5hbWUgPSAiQXJhaCBQZXJ1YmFoYW4gUiIKKQoKIyBNZW5hbWJhaGthbiBsYWJlbCB1bnR1ayBzdW1idSBkYW4ganVkdWwKZmlnIDwtIGZpZyAlPiUgbGF5b3V0KAogIHNjZW5lID0gbGlzdCgKICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICdYJyksCiAgICB5YXhpcyA9IGxpc3QodGl0bGUgPSAnWScpLAogICAgemF4aXMgPSBsaXN0KHRpdGxlID0gJ1onKQogICksCiAgdGl0bGUgPSAiVmlzdWFsaXNhc2kgVHJhbnNmb3JtYXNpIFRpdGlrLVRpdGlrIDNEIGRlbmdhbiBHYXJpcyBBcmFoIFBlcnViYWhhbiIsCiAgc2hvd2xlZ2VuZCA9IFRSVUUKKQoKZmlnCmBgYAoKCgojIFNvYWwgMyAoNDAlKSAoTmlsYWkgRWlnZW4gZGFuIFZla3RvciBFaWdlbikKClBlcnVzYWhhYW4gdGFtYmFuZyBYWVogc2VkYW5nIG1lbGFrdWthbiBhbmFsaXNpcyBzdGFiaWxpdGFzIHBhZGEgdGlnYSBsYXBpc2FuIHN0cnVrdHVyIGJhdHVhbiBkaSBhcmVhIHRhbWJhbmcuIFRpbSBnZW90ZWtuaWsgcGVydXNhaGFhbiBwZXJsdSBtZW5lbnR1a2FuIHBvbGEgcGVyZ2VyYWthbiBkYXJpIHNldGlhcCBsYXBpc2FuIGJhdHVhbiBrZXRpa2EgdGVya2VuYSB0ZWthbmFuIHVudHVrIG1lbWFoYW1pIHJpc2lrbyBsb25nc29yIGF0YXUga2VydW50dWhhbi4gRGF0YSBpbmkgZGlzYWppa2FuIGRhbGFtIGJlbnR1ayBtYXRyaWtzIHRyYW5zZm9ybWFzaSB5YW5nIG1lbmdnYW1iYXJrYW4gcmVzcG9ucyBkZWZvcm1hc2kgZGFyaSBrZXRpZ2EgbGFwaXNhbiBiYXR1YW4gdGVyaGFkYXAgdGVrYW5hbi4KCk1hdHJpa3MgdHJhbnNmb3JtYXNpIHlhbmcgbWVuZ2dhbWJhcmthbiBodWJ1bmdhbiBkZWZvcm1hc2kgYW50YXIgbGFwaXNhbiBiYXR1YW4gYWRhbGFoIHNlYmFnYWkgYmVyaWt1dDoKCiQkCkEgPSBcYmVnaW57Ym1hdHJpeH0gNCAmIC0yICYgMSBcXCAtMiAmIDMgJiAtMSBcXCAxICYgLTEgJiAyIFxlbmR7Ym1hdHJpeH0KJCQKCioqUGVydGFueWFhbjoqKgoKMS4gVGVudHVrYW4gbmlsYWkgZWlnZW4gZGFyaSBtYXRyaWtzICRBJCBkYW4gaW50ZXJwcmV0YXNpa2FuIG5pbGFpIHRlcnNlYnV0IGRhbGFtIGtvbnRla3Mgc3RhYmlsaXRhcyBzdHJ1a3R1ciBiYXR1YW4uCiAgIAoyLiBUZW50dWthbiB2ZWt0b3IgZWlnZW4geWFuZyB0ZXJrYWl0IGRlbmdhbiBtYXNpbmctbWFzaW5nIG5pbGFpIGVpZ2VuIGRhbiBpbnRlcnByZXRhc2lrYW4gYXJ0aW55YSBkYWxhbSBrb250ZWtzIHBlcmdlcmFrYW4gc3RydWt0dXIgYmF0dWFuLiBNaXNhbG55YSwgYXJhaCB2ZWt0b3IgZWlnZW4gbWVudW5qdWtrYW4gYXJhaCBkZWZvcm1hc2kgeWFuZyBkb21pbmFuIHBhZGEgbGFwaXNhbiBiYXR1YW4uCgozLiBCZXJkYXNhcmthbiBuaWxhaSBkYW4gdmVrdG9yIGVpZ2VuIHlhbmcgZGlwZXJvbGVoLCBkaXNrdXNpa2FuIGFwYWthaCBsYXBpc2FuIGJhdHVhbiBtZW1pbGlraSBhcmFoIHBlcmdlcmFrYW4geWFuZyBzdGFiaWwgYXRhdSB0aWRhayBzdGFiaWwga2V0aWthIHRlcmtlbmEgdGVrYW5hbiBkYXJpIGJlcmJhZ2FpIGFyYWguCgojIFBlbnllbGVzYWlhbiAzCgojIyBNYXRyaWtzIFRyYW5zZm9ybWFzaQoKTWF0cmlrcyB0cmFuc2Zvcm1hc2kgJEEkIHlhbmcgbWVuZ2dhbWJhcmthbiBodWJ1bmdhbiBkZWZvcm1hc2kgYW50YXIgbGFwaXNhbiBiYXR1YW4gYWRhbGFoIHNlYmFnYWkgYmVyaWt1dDoKCiQkCkEgPSBcYmVnaW57Ym1hdHJpeH0gCjQgJiAtMiAmIDEgXFwgCi0yICYgMyAmIC0xIFxcIAoxICYgLTEgJiAyIApcZW5ke2JtYXRyaXh9CiQkCgojIyBNZW5lbnR1a2FuIE5pbGFpIEVpZ2VuIGRhcmkgTWF0cmlrcyAkQSQKClVudHVrIG1lbmVudHVrYW4gbmlsYWkgZWlnZW4gKCRcbGFtYmRhJCkgZGFyaSBtYXRyaWtzICRBJCwga2l0YSBwZXJsdSBtZW55ZWxlc2Fpa2FuIHBlcnNhbWFhbiBrYXJha3RlcmlzdGlrOgoKJCQKXHRleHR7ZGV0fShBIC0gXGxhbWJkYSBJKSA9IDAKJCQKCkRpbWFuYSAkSSQgYWRhbGFoIG1hdHJpa3MgaWRlbnRpdGFzIGRhbiAkXGxhbWJkYSQgYWRhbGFoIG5pbGFpIGVpZ2VuLiBNYXRyaWtzICRBIC0gXGxhbWJkYSBJJCBhZGFsYWg6CgokJApBIC0gXGxhbWJkYSBJID0gXGJlZ2lue2JtYXRyaXh9IAo0LVxsYW1iZGEgJiAtMiAmIDEgXFwgCi0yICYgMy1cbGFtYmRhICYgLTEgXFwgCjEgJiAtMSAmIDItXGxhbWJkYSAKXGVuZHtibWF0cml4fQokJAoKVW50dWsgbWVuY2FyaSBkZXRlcm1pbmFubnlhLCBraXRhIGhpdHVuZyBkZXRlcm1pbmFuIGRhcmkgbWF0cmlrcyAkQSAtIFxsYW1iZGEgSSQ6CgoqKkxhbmdrYWggMTogTWF0cmlrcyBcKCBBIC0gXGxhbWJkYSBJIFwpOioqCiQkCkEgLSBcbGFtYmRhIEkgPSBcYmVnaW57Ym1hdHJpeH0gCjQtXGxhbWJkYSAmIC0yICYgMSBcXCAKLTIgJiAzLVxsYW1iZGEgJiAtMSBcXCAKMSAmIC0xICYgMi1cbGFtYmRhIApcZW5ke2JtYXRyaXh9CiQkCgoqKkxhbmdrYWggMjogRWtzcGFuc2kgRGV0ZXJtaW5hbjoqKgokJApcZGV0KEEgLSBcbGFtYmRhIEkpID0gXGJlZ2lue3ZtYXRyaXh9IAo0LVxsYW1iZGEgJiAtMiAmIDEgXFwgCi0yICYgMy1cbGFtYmRhICYgLTEgXFwgCjEgJiAtMSAmIDItXGxhbWJkYSAKXGVuZHt2bWF0cml4fQokJAoKR3VuYWthbiBla3NwYW5zaSBiYXJpcyBwZXJ0YW1hOgokJApcZGV0KEEgLSBcbGFtYmRhIEkpID0gKDQtXGxhbWJkYSkgXGJlZ2lue3ZtYXRyaXh9IAozLVxsYW1iZGEgJiAtMSBcXCAKLTEgJiAyLVxsYW1iZGEgClxlbmR7dm1hdHJpeH0KLSAoLTIpIFxiZWdpbnt2bWF0cml4fSAKLTIgJiAtMSBcXCAKMSAmIDItXGxhbWJkYSAKXGVuZHt2bWF0cml4fQorIDEgXGJlZ2lue3ZtYXRyaXh9IAotMiAmIDMtXGxhbWJkYSBcXCAKMSAmIC0xIApcZW5ke3ZtYXRyaXh9CiQkCgoqKkxhbmdrYWggMzogSGl0dW5nIFN1Yi1kZXRlcm1pbmFuOioqCgoxLiBTdWItZGV0ZXJtaW5hbiBwZXJ0YW1hOgokJApcYmVnaW57dm1hdHJpeH0gCjMtXGxhbWJkYSAmIC0xIFxcIAotMSAmIDItXGxhbWJkYSAKXGVuZHt2bWF0cml4fQo9ICgzLVxsYW1iZGEpKDItXGxhbWJkYSkgLSAoLTEpKC0xKQo9ICgzLVxsYW1iZGEpKDItXGxhbWJkYSkgLSAxCiQkCiQkCj0gNiAtIDVcbGFtYmRhICsgXGxhbWJkYV4yIC0gMQo9IFxsYW1iZGFeMiAtIDVcbGFtYmRhICsgNQokJAoKMi4gU3ViLWRldGVybWluYW4ga2VkdWE6CiQkClxiZWdpbnt2bWF0cml4fSAKLTIgJiAtMSBcXCAKMSAmIDItXGxhbWJkYSAKXGVuZHt2bWF0cml4fQo9ICgtMikoMi1cbGFtYmRhKSAtICgtMSkoMSkKPSAtNCArIDJcbGFtYmRhICsgMQo9IDJcbGFtYmRhIC0gMwokJAoKMy4gU3ViLWRldGVybWluYW4ga2V0aWdhOgokJApcYmVnaW57dm1hdHJpeH0gCi0yICYgMy1cbGFtYmRhIFxcIAoxICYgLTEgClxlbmR7dm1hdHJpeH0KPSAoLTIpKC0xKSAtICgzLVxsYW1iZGEpKDEpCj0gMiAtICgzLVxsYW1iZGEpCj0gLTEgKyBcbGFtYmRhCiQkCgoqKkxhbmdrYWggNDogU3Vic3RpdHVzaSBoYXNpbCBrZSBkYWxhbSBkZXRlcm1pbmFuOioqCiQkClxkZXQoQSAtIFxsYW1iZGEgSSkgPSAoNC1cbGFtYmRhKShcbGFtYmRhXjIgLSA1XGxhbWJkYSArIDUpICsgMigyXGxhbWJkYSAtIDMpICsgMSgtMSArIFxsYW1iZGEpCiQkCgoqKkxhbmdrYWggNTogU2VkZXJoYW5ha2FuIGVrc3ByZXNpOioqCgoxLiBIaXR1bmcgXCggKDQtXGxhbWJkYSkoXGxhbWJkYV4yIC0gNVxsYW1iZGEgKyA1KSBcKToKJCQKKDQtXGxhbWJkYSkoXGxhbWJkYV4yIC0gNVxsYW1iZGEgKyA1KSA9IDQoXGxhbWJkYV4yIC0gNVxsYW1iZGEgKyA1KSAtIFxsYW1iZGEoXGxhbWJkYV4yIC0gNVxsYW1iZGEgKyA1KQokJAokJAo9IDRcbGFtYmRhXjIgLSAyMFxsYW1iZGEgKyAyMCAtIFxsYW1iZGFeMyArIDVcbGFtYmRhXjIgLSA1XGxhbWJkYQokJAokJAo9IC1cbGFtYmRhXjMgKyA5XGxhbWJkYV4yIC0gMjVcbGFtYmRhICsgMjAKJCQKCjIuIEhpdHVuZyBcKCAyKDJcbGFtYmRhIC0gMykgXCk6CiQkCjIoMlxsYW1iZGEgLSAzKSA9IDRcbGFtYmRhIC0gNgokJAoKMy4gSGl0dW5nIFwoIDEoLTEgKyBcbGFtYmRhKSBcKToKJCQKMSgtMSArIFxsYW1iZGEpID0gLTEgKyBcbGFtYmRhCiQkCgpHYWJ1bmdrYW4gc2VtdWFueWE6CiQkClxkZXQoQSAtIFxsYW1iZGEgSSkgPSAtXGxhbWJkYV4zICsgOVxsYW1iZGFeMiAtIDI1XGxhbWJkYSArIDIwICsgNFxsYW1iZGEgLSA2IC0gMSArIFxsYW1iZGEKJCQKCiQkClxkZXQoQSAtIFxsYW1iZGEgSSkgPSAtXGxhbWJkYV4zICsgOVxsYW1iZGFeMiAtIDIwXGxhbWJkYSArIDEzCiQkCgoqKkhhc2lsIEFraGlyOioqCgokJApcZGV0KEEgLSBcbGFtYmRhIEkpID0gLVxsYW1iZGFeMyArIDlcbGFtYmRhXjIgLSAyMFxsYW1iZGEgKyAxMwokJAoKU2V0ZWxhaCBtZW5naGl0dW5nIGRhbiBtZW55ZWRlcmhhbmFrYW4gcGVyc2FtYWFuIGthcmFrdGVyaXN0aWssIGtpdGEgbWVtcGVyb2xlaCBwZXJzYW1hYW4ga3ViaWsgdW50dWsgJFxsYW1iZGEkLiBNZW55ZWxlc2Fpa2FuIHBlcnNhbWFhbiBrdWJpayBpbmkgbWVuZ2hhc2lsa2FuIHRpZ2EgbmlsYWkgZWlnZW4gJFxsYW1iZGFfMSQsICRcbGFtYmRhXzIkLCBkYW4gJFxsYW1iZGFfMyQuCgojIyBNZW5lbnR1a2FuIFZla3RvciBFaWdlbiBUZXJrYWl0IGRlbmdhbiBTZXRpYXAgTmlsYWkgRWlnZW4KClNldGVsYWgga2l0YSBtZW1wZXJvbGVoIG5pbGFpIGVpZ2VuLCBraXRhIGRhcGF0IG1lbmNhcmkgdmVrdG9yIGVpZ2VuIHlhbmcgdGVya2FpdCBkZW5nYW4gbWFzaW5nLW1hc2luZyBuaWxhaSBlaWdlbi4gVW50dWsgc2V0aWFwIG5pbGFpIGVpZ2VuICRcbGFtYmRhX2kkLCBraXRhIGRhcGF0IG1lbmNhcmkgdmVrdG9yIGVpZ2VuICR2X2kkIGRlbmdhbiBtZW55ZWxlc2Fpa2FuIHBlcnNhbWFhbjoKCiQkCihBIC0gXGxhbWJkYV9pIEkpdl9pID0gMAokJAoKRGVuZ2FuIG1lbnllbGVzYWlrYW4gc2lzdGVtIHBlcnNhbWFhbiBsaW5pZXIgaW5pLCBraXRhIG1lbXBlcm9sZWggdmVrdG9yIGVpZ2VuIHVudHVrIHNldGlhcCBuaWxhaSBlaWdlbiAkXGxhbWJkYV8xJCwgJFxsYW1iZGFfMiQsIGRhbiAkXGxhbWJkYV8zJC4KCiMjIEludGVycHJldGFzaSBIYXNpbCBOaWxhaSBFaWdlbiBkYW4gVmVrdG9yIEVpZ2VuCgotICoqTmlsYWkgRWlnZW4qKjogTmlsYWkgZWlnZW4gbWVuZ2dhbWJhcmthbiBiZXNhcm55YSBkZWZvcm1hc2kgeWFuZyB0ZXJqYWRpIHBhZGEgbGFwaXNhbiBiYXR1YW4uIE5pbGFpIGVpZ2VuIHlhbmcgYmVzYXIgbWVudW5qdWtrYW4gZGVmb3JtYXNpIHlhbmcgYmVzYXIsIHNlZGFuZ2thbiBuaWxhaSBlaWdlbiB5YW5nIGtlY2lsIGF0YXUgbmVnYXRpZiBtZW51bmp1a2thbiBkZWZvcm1hc2kgeWFuZyBrZWNpbCBhdGF1IGFyYWggeWFuZyBsZWJpaCBzdGFiaWwuCiAgCi0gKipWZWt0b3IgRWlnZW4qKjogQXJhaCB2ZWt0b3IgZWlnZW4gbWVudW5qdWtrYW4gYXJhaCBkZWZvcm1hc2kgZG9taW5hbiBwYWRhIGxhcGlzYW4gYmF0dWFuLiBKaWthIHZla3RvciBlaWdlbiB0ZXJrYWl0IGRlbmdhbiBuaWxhaSBlaWdlbiBwb3NpdGlmIGRhbiBiZXNhciwgbWFrYSBhcmFoIHRlcnNlYnV0IG1lbnVuanVra2FuIGFyYWggZGVmb3JtYXNpIHlhbmcgbGViaWggZG9taW5hbi4gSmlrYSBuaWxhaSBlaWdlbiBuZWdhdGlmLCBpdHUgbWVudW5qdWtrYW4gYXJhaCB5YW5nIGxlYmloIHN0YWJpbCBhdGF1IHRpZGFrIGJhbnlhayB0ZXJqYWRpIGRlZm9ybWFzaSBkYWxhbSBhcmFoIHRlcnNlYnV0LgoKIyMgQW5hbGlzaXMgU3RhYmlsaXRhczoKCi0gKipTdGFiaWxpdGFzIFN0cnVrdHVyIEJhdHVhbioqOiBKaWthIHNlbXVhIG5pbGFpIGVpZ2VuIHBvc2l0aWYsIG1ha2Egc3RydWt0dXIgYmF0dWFuIGRhcGF0IGRpYW5nZ2FwIHN0YWJpbCBrYXJlbmEgdGlkYWsgYWRhIGFyYWggeWFuZyBtZW55ZWJhYmthbiBrZXJ1bnR1aGFuIGF0YXUgbG9uZ3Nvci4gTmFtdW4sIGppa2EgYWRhIG5pbGFpIGVpZ2VuIG5lZ2F0aWYsIG1ha2EgaW5pIG1lbnVuanVra2FuIGFkYW55YSBwb3RlbnNpIHBlcmdlcmFrYW4gYXRhdSBrZXJ1bnR1aGFuIGRhbGFtIGFyYWggdGVydGVudHUuCiAgCi0gKipBcmFoIFBlcmdlcmFrYW4qKjogQmVyZGFzYXJrYW4gbmlsYWkgZGFuIHZla3RvciBlaWdlbiwga2l0YSBkYXBhdCBtZW5lbnR1a2FuIGFyYWggcGVyZ2VyYWthbiB5YW5nIGRvbWluYW4gZGFsYW0gbGFwaXNhbiBiYXR1YW4uIEppa2EgdmVrdG9yIGVpZ2VuIG1lbnVuanVra2FuIGFyYWggaG9yaXpvbnRhbCwgaW5pIG11bmdraW4gbWVudW5qdWtrYW4gcGVyZ2VyYWthbiBob3Jpem9udGFsIGxhcGlzYW4gYmF0dWFuIHlhbmcgYmlzYSBtZW5nYXJhaCBwYWRhIHBvdGVuc2kgcGVyZ2VzZXJhbiBhdGF1IGxvbmdzb3Jhbi4KCiMjIyBQZW5qZWxhc2FuIGRlbmdhbiBDb250b2g6CgpNaXNhbGthbiBraXRhIHRlbGFoIG1lbmdoaXR1bmcgbmlsYWkgZWlnZW4gZGFuIHZla3RvciBlaWdlbiBkYXJpIG1hdHJpa3MgJEEkLiBKaWthIGtpdGEgbWVuZGFwYXRrYW4gbmlsYWkgZWlnZW4geWFuZyBiZXNhciwgc2VwZXJ0aSAkXGxhbWJkYV8xID0gNSQsIG1ha2EgcGVyZ2VyYWthbiBzdHJ1a3R1ciBiYXR1YW4gcGFkYSBhcmFoIHlhbmcgdGVya2FpdCBkZW5nYW4gdmVrdG9yIGVpZ2VuIHVudHVrICRcbGFtYmRhXzEkIGFkYWxhaCBsZWJpaCBkb21pbmFuLiBKaWthIGFkYSBuaWxhaSBlaWdlbiBuZWdhdGlmLCBzZXBlcnRpICRcbGFtYmRhXzIgPSAtMiQsIGluaSBtZW51bmp1a2thbiBhZGFueWEga2VtdW5na2luYW4gcGVyZ2VyYWthbiB0aWRhayBzdGFiaWwgZGFsYW0gYXJhaCB5YW5nIHRlcmthaXQgZGVuZ2FuIHZla3RvciBlaWdlbiB0ZXJzZWJ1dC4KCiMjIyBLZXNpbXB1bGFuOgoKLSAqKlN0YWJpbGl0YXMqKjogSmlrYSBzZW11YSBuaWxhaSBlaWdlbiBwb3NpdGlmLCBtYWthIHN0cnVrdHVyIGJhdHVhbiByZWxhdGlmIHN0YWJpbC4KLSAqKkFyYWggUGVyZ2VyYWthbioqOiBWZWt0b3IgZWlnZW4gYWthbiBtZW51bmp1a2thbiBhcmFoIHBlcmdlcmFrYW4gZG9taW5hbiB5YW5nIHRlcmphZGkgcGFkYSBsYXBpc2FuIGJhdHVhbiBzYWF0IHRlcmtlbmEgdGVrYW5hbi4gSmlrYSBhZGEgbmlsYWkgZWlnZW4gbmVnYXRpZiwgbWFrYSBhcmFoIHRlcnNlYnV0IG11bmdraW4gbWVudW5qdWtrYW4gcG90ZW5zaSBrZXJ1bnR1aGFuIGF0YXUgcGVyZ2VyYWthbiB0aWRhayBzdGFiaWwuCgpEZW5nYW4gcGVuZGVrYXRhbiBpbmksIGtpdGEgZGFwYXQgbWVuZ2V2YWx1YXNpIHN0YWJpbGl0YXMgZGFyaSBzdHJ1a3R1ciBiYXR1YW4gZGkgYXJlYSB0YW1iYW5nIGRhbiBtZW5nYW50aXNpcGFzaSBwb3RlbnNpIHJpc2lrbyBsb25nc29yYW4gYXRhdSBrZXJ1bnR1aGFuIHlhbmcgbXVuZ2tpbiB0ZXJqYWRpLg==