text:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rl_coachmark_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/rl_shim_out_view_parent"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ImageView
        android:id="@+id/iv_coachmark_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@null"
        android:scaleType="centerInside" />

    <LinearLayout
        android:id="@+id/ll_coach_mark_pop_up_parent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <View
            android:id="@+id/left_top_notch"
            android:layout_width="@dimen/coach_mark_notch_width_height"
            android:layout_height="@dimen/coach_mark_notch_width_height"
            android:background="@drawable/triangle_up"
            android:visibility="gone" />

        <RelativeLayout
            android:id="@+id/rl_pop_up_text_parent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <RelativeLayout
                android:id="@+id/rl_coachmark_text_part"
                android:layout_width="wrap_content"
                android:layout_height="@dimen/coach_mark_pop_up_ok_button_width_height"
                android:layout_alignParentTop="true"
                android:background="@drawable/coachmark_pop_up_drawable"
                android:visibility="visible">

                <LinearLayout
                    android:id="@+id/ll_coachmark_text_wrapper_layout"
                    android:layout_width="wrap_content"
                    android:layout_height="@dimen/coach_mark_pop_up_text_view_height"
                    android:orientation="horizontal">

                    <android.support.v7.widget.AppCompatTextView
                        android:id="@+id/tv_coachmark_text"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_marginBottom="@dimen/coach_mark_text_padding_top_bottom"
                        android:layout_marginLeft="@dimen/coach_mark_pop_up_text_padding_left"
                        android:layout_marginRight="@dimen/coach_mark_pop_up_text_padding_left"
                        android:layout_marginTop="@dimen/coach_mark_text_margin_top"
                        android:lineSpacingExtra="@dimen/coach_mark_similar_item_coach_mark_stroke"
                        android:maxLines="@integer/coach_mark_text_max_lines"
                        android:text="@null"
                        android:textColor="@color/coach_mark_text_color"
                        android:textSize="@dimen/coach_mark_text_size" />

                </LinearLayout>

                <ImageView
                    android:id="@+id/v_separator"
                    android:layout_width="1dp"
                    android:layout_height="match_parent"
                    android:layout_marginBottom="@dimen/coach_mark_pop_up_separator_bottom_margin"
                    android:layout_marginTop="@dimen/coach_mark_pop_up_separator_top_margin"
                    android:contentDescription="@null"
                    android:layerType="software"
                    android:src="@drawable/coach_mark_vertical_dashed_line_separator" />

                <android.support.v7.widget.AppCompatTextView
                    android:id="@+id/tv_ok_button"
                    android:layout_width="@dimen/coach_mark_pop_up_ok_button_width"
                    android:layout_height="@dimen/coach_mark_pop_up_ok_button_width_height"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:maxLength="@integer/coach_mark_text_max_lines"
                    android:text="@string/coachmark_ok_button_text"
                    android:textAllCaps="true"
                    android:textColor="@color/coach_mark_button_text_color"
                    android:textSize="@dimen/coach_mark_text_size_ok_button" />

            </RelativeLayout>

            <View
                android:id="@+id/v_notch_base_white_top"
                android:layout_width="@dimen/coach_mark_notch_bottom_invisible_width"
                android:layout_height="@dimen/coach_mark_notch_margin_offset"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:background="@color/coach_mark_white"
                android:visibility="gone" />

            <View
                android:id="@+id/v_notch_base_white_left"
                android:layout_width="@dimen/coach_mark_notch_margin_offset"
                android:layout_height="@dimen/coach_mark_notch_bottom_invisible_height"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:background="@color/coach_mark_white"
                android:visibility="gone" />

        </RelativeLayout>

        <View
            android:id="@+id/right_bottom_notch"
            android:layout_width="@dimen/coach_mark_notch_width_height"
            android:layout_height="@dimen/coach_mark_notch_width_height"
            android:background="@drawable/triangle_up"
            android:visibility="gone" />

    </LinearLayout>

</RelativeLayout>


text:
module Azure end
module Azure::CognitiveServices end
module Azure::CognitiveServices::Customvisionprediction end
module Azure::CognitiveServices::Customvisionprediction::V2_0 end

redpajama_set_name: RedPajamaGithub


text:
package main

import (
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
	"net/http/httptest"
	"os"
	"strings"
	"testing"
	"time"

	"github.com/mat/besticon/besticon"
)

func TestGetIndex(t *testing.T) {
	req, err := http.NewRequest("GET", "/", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.indexHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "text/html; charset=utf-8", w.Header().Get("Content-Type"))

	assertStringContains(t, w.Body.String(), "<title>The Favicon Finder</title>")
}

func TestGetIcons(t *testing.T) {
	req, err := http.NewRequest("GET", "/icons?url=apple.com", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconsHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "max-age=2592000", w.Header().Get("Cache-Control"))
	assertStringEquals(t, "text/html; charset=utf-8", w.Header().Get("Content-Type"))

	assertStringContains(t, w.Body.String(), "Icons on apple.com")

	assertStringContains(t, w.Body.String(), "<img src='https://www.apple.com/favicon.ico'")
	assertStringContains(t, w.Body.String(), "")
	assertStringContains(t, w.Body.String(), "64x64	")
}

func TestGetIcon(t *testing.T) {
	req, err := http.NewRequest("GET", "/icon?url=apple.com&size=120", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "max-age=2592000", w.Header().Get("Cache-Control"))
	assertStringEquals(t, "https://www.apple.com/apple-touch-icon.png", w.Header().Get("Location"))
}

func TestGetIconWithDownloadMode(t *testing.T) {
	os.Setenv("SERVER_MODE", "download")
	req, err := http.NewRequest("GET", "/icon?url=apple.com&size=120", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "max-age=2592000", w.Header().Get("Cache-Control"))
	assertStringEquals(t, "image/png", w.Header().Get("Content-Type"))
	assertStringEquals(t, "", w.Header().Get("Location"))

	// Make sure we return some data
	assertIntegerInInterval(t, 2000, 10000, len(w.Body.String()))

	os.Setenv("SERVER_MODE", "")
}

func TestGetIconWithFallBackURL(t *testing.T) {
	req, err := http.NewRequest("GET", "/icon?url=apple.com&size=400&fallback_icon_url=http%3A%2F%2Fexample.com", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "max-age=2592000", w.Header().Get("Cache-Control"))
	assertStringEquals(t, "http://example.com", w.Header().Get("Location"))
}

func TestGetIconWith404Page(t *testing.T) {
	req, err := http.NewRequest("GET", "/icons?size=32&url=httpbin.org/status/404", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "/lettericons/H-32.png", w.Header().Get("Location"))
}

func TestGet404IconWithFallbackColor(t *testing.T) {
	req, err := http.NewRequest("GET", "/icons?size=32&url=httpbin.org/status/404&fallback_icon_color=123456", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "/lettericons/H-32-123456.png", w.Header().Get("Location"))
}

func TestGet404IconWithInvalidFallbackColor(t *testing.T) {
	req, err := http.NewRequest("GET", "/icons?size=32&url=httpbin.org/status/404&fallback_icon_color=zz", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "/lettericons/H-32.png", w.Header().Get("Location"))
}

func TestGetIconWithSVG(t *testing.T) {
	req, err := http.NewRequest("GET", "/icons?size=32&url=httpbin.org/status/404&formats=svg", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.iconHandler(w, req)

	assertStringEquals(t, "302", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "/lettericons/H.svg", w.Header().Get("Location"))
}

func TestGetAllIcons(t *testing.T) {
	req, err := http.NewRequest("GET", "/allicons.json?url=apple.com", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.alliconsHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "application/json", w.Header().Get("Content-Type"))
	assertStringEquals(t, "max-age=2592000", w.Header().Get("Cache-Control"))

	assertStringContains(t, w.Body.String(), `"url":"https://www.apple.com/favicon.ico"`)
	assertStringContains(t, w.Body.String(), `"width":64`)
	assertStringContains(t, w.Body.String(), `"height":64`)

	// Make sure we don't return inlined image data
	assertDoesNotExceed(t, len(w.Body.String()), 2000)
}

func TestGetPopular(t *testing.T) {
	req, err := http.NewRequest("GET", "/popular", nil)
	if err != nil {
		t.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.popularHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "text/html; charset=utf-8", w.Header().Get("Content-Type"))

	assertStringContains(t, w.Body.String(), `Icon Examples`)
	assertStringContains(t, w.Body.String(), `github.com`)
}

func TestGetLetterIconPNG(t *testing.T) {
	req, err := http.NewRequest("GET", "/lettericons/M-144-EFC25D.png", nil)
	if err != nil {
		t.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.lettericonHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "image/png", w.Header().Get("Content-Type"))
	assertStringEquals(t, "max-age=31536000", w.Header().Get("Cache-Control"))
	assertIntegerInInterval(t, 1500, 1800, w.Body.Len())
}

func TestGetLetterIconSVG(t *testing.T) {
	req, err := http.NewRequest("GET", "/lettericons/M-EFC25D.svg", nil)
	if err != nil {
		t.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.lettericonHandler(w, req)

	assertStringEquals(t, "200", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "image/svg+xml", w.Header().Get("Content-Type"))
	assertStringEquals(t, "max-age=31536000", w.Header().Get("Cache-Control"))
	assertStringContains(t, w.Body.String(), `<svg`)
}

func TestGetBadLetterIconPath(t *testing.T) {
	req, err := http.NewRequest("GET", "/lettericons/--120.png", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.lettericonHandler(w, req)

	assertStringEquals(t, "400", fmt.Sprintf("%d", w.Code))
	assertStringContains(t, w.Body.String(), `wrong format for lettericons/ path`)
}

func TestGet404(t *testing.T) {
	req, err := http.NewRequest("GET", "/does-not-exist", nil)
	if err != nil {
		log.Fatal(err)
	}

	w := httptest.NewRecorder()
	s := newTestServer()
	s.indexHandler(w, req)

	assertStringEquals(t, "404", fmt.Sprintf("%d", w.Code))
	assertStringEquals(t, "text/html; charset=utf-8", w.Header().Get("Content-Type"))

	assertStringContains(t, w.Body.String(), "The requested page does not exist :-(")
}

func assertStringContains(t *testing.T, haystack string, needle string) {
	if !strings.Contains(haystack, needle) {
		fail(t, fmt.Sprintf("Expected '%s' to be contained in '%s'", needle, haystack))
	}
}

func assertStringEquals(t *testing.T, expected string, actual string) {
	if expected != actual {
		fail(t, fmt.Sprintf("Expected '%s' to be '%s'", actual, expected))
	}
}

func assertIntegerEquals(t *testing.T, expected int, actual int) {
	if expected != actual {
		fail(t, fmt.Sprintf("Expected %d to be %d", actual, expected))
	}
}

func assertIntegerInInterval(t *testing.T, lower int, upper int, actual int) {
	if actual < lower || actual > upper {
		fail(t, fmt.Sprintf("Expected %d to be in interval [%d,%d]", actual, lower, upper))
	}
}

func assertDoesNotExceed(t *testing.T, actual int, maximum int) {
	if actual >= maximum {
		fail(t, fmt.Sprintf("Expected '%d' to be < '%d'", actual, maximum))
	}
}

func fail(t *testing.T, failureMessage string) {
	t.Errorf("\t%s\n"+
		"\r\t",
		failureMessage)
}

func newTestServer() *server {
	return &server{
		maxIconSize:   500,
		cacheDuration: 720 * time.Hour,
		besticon:      besticon.New(besticon.WithLogger(besticon.NewDefaultLogger(ioutil.Discard))),
	}
}


text: MessageFormat.locale.en=function(n){return n===1?"one":"other"}