<prompt> Andika programu ya JavaScript ambayo inachukua kamba ya ingizo na kuibana kwa kutumia algoriti ya Run Length Encoding RLE. Programu inapaswa pia kuwa na uwezo wa kupunguza kamba iliyobanwa kurudi kwenye umbo lake la asili.  <response>: Hapa kuna programu ya JavaScript ambayo inabana na kupunguza kamba kwa kutumia algorithm ya Run Length Encoding RLE: javascriptkazi compressinputStr acha kubana ; hebu hesabu 1; kwa wacha i 0; i inputStr.length; i ikiwa inputStri inputStri 1 hesabu ; nyengine imebanwa count 1 ? count inputStri : inputStri; hesabu 1; kurudi USITUMIE;kazi decompresscompressedStr let decompressed ; acha kuhesabu ; kwa let i 0; i compressedStr.length; i const char compressedStri; ikiwa isNaNchar decompressed count ? char.repeatparseIntcount, 10 : char; hesabu ; nyengine hesabu char; kurudi decompressed; Mfano wa matumizi:const inputStr aaabbbccc;const compressedStr compressinputStr;console.logImebanwa:, imebanwaStr; Pato: 3a5b2cconst decompressedStr decompresscompressedStr;console.logDecompressed:, decompressedStr; Pato: aaabbbccProgramu hii inafafanua vitendaji viwili compress na decompress. Chaguo za kukokotoa compress huchukua mfuatano wa ingizo na kuubana kwa kutumia algoriti ya RLE. Chaguo za kukokotoa za decompress huchukua mfuatano uliobanwa na kuupunguza hadi kwenye umbo lake asili.Katika matumizi ya mfano, tuna mfuatano wa ingizo aaabbbcc, ambao umebanwa kuwa 3a5b2c. Kisha, mfuatano uliobanwa unabanwa tena hadi kwenye mfuatano asilia wa ingizo aaabbbcc. 