OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="6087162d-3aa5-4ea7-86df-8f7d393de5d1" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImFlbHByeUpNVmxGRmpCeUwzelNxYTBzRXk4anVGNis2K2owWUZVUmYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9ImFlbHByeUpNVmxGRmpCeUwzelNxYTBzRXk4anVGNis2K2owWUZVUmYiLG5jPTAwMDAwMDAxLGNub25jZT0iK0lVZzFCSXJRbjJTQ0tJci9hdlNjVkZ3WGorSVlzM2RrYkpTT0JGUyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wN2M0YmY5ZjhlNjIxZjQ0ZWRhOTNjZmUyODQ1ODk0YSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1iOWEzMjg1ZDU3Njk0ODM4ZTQ2MWFlNWIwY2RjNWViNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="6087162d-3aa5-4ea7-86df-8f7d393de5d1" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="e8aa4024-046f-4f4a-90b6-216af9fc5530" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImFJME5HVEYwTGJZVXZRN1dRNmdmVnNzaEhiNnFBdGlYSEZ1YUoraXUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9ImFJME5HVEYwTGJZVXZRN1dRNmdmVnNzaEhiNnFBdGlYSEZ1YUoraXUiLG5jPTAwMDAwMDAxLGNub25jZT0iSk4rNE1BRDhnNCt4SkZKSW11R0hBYytsVFlnTmtsQjlTR1UxeVdJVSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mMzY5MWU5MzZlOGJhOGVhZGVmN2RkODNlMWZmYjM3Nyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD03YWRiOTY3ZDdkYTE5MDI3ODc3ZWE3OWExMmI4ZjFjNw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="e8aa4024-046f-4f4a-90b6-216af9fc5530" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="a77905cf-dacd-435e-ac26-4052045927ed" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InA4T0ZoNWZhM0wvbkRzTVlha2c1NVJtb3h5T1QxY29JNGM1YVRpWEIiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9InA4T0ZoNWZhM0wvbkRzTVlha2c1NVJtb3h5T1QxY29JNGM1YVRpWEIiLG5jPTAwMDAwMDAxLGNub25jZT0iQVcyMGlhTnFtZ1NvSTRSOGpCSkVSTUVPeWVHcjlrZzFGbnFWV3hRYSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04YTVlNTYwZWU1ZTZhZWQwNTNmM2E2N2JkZWI0MTQwOCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD03NzBhN2RkOTMyMGI2ZmIzZGY4YWVmYTczYTEyOGY2Yg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="a77905cf-dacd-435e-ac26-4052045927ed" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ada8bbdd-9ee7-4dca-8ae9-af177d3170f9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IklMMFRqYlN4dnZjUnV4MU9pTWsxS3FRTW1tektDZk1ncllBWnhIU1ciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9IklMMFRqYlN4dnZjUnV4MU9pTWsxS3FRTW1tektDZk1ncllBWnhIU1ciLG5jPTAwMDAwMDAxLGNub25jZT0iWHIxVWYwNkFBZXhkTmtjcUJha0tZQTVpcTJCeVhmaTZFdFZmbWRYYSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0zOGNhNWUxNjhmN2VlNzRlMjZkNjAxYTI5OWRlN2NmMyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xZmEzMTRmNTVmYTkyMmVjYjQ0MWI5MTYxYWM3YjE0NA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ada8bbdd-9ee7-4dca-8ae9-af177d3170f9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="00e4d49e-031b-4208-89fc-c34cee73e06e" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InhnaCsvMW9xVTB2TUVlWXhVbzgvM0tucmMrU2NaS0hnZXZJdTF5emYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9InhnaCsvMW9xVTB2TUVlWXhVbzgvM0tucmMrU2NaS0hnZXZJdTF5emYiLG5jPTAwMDAwMDAxLGNub25jZT0iV2gwV0VPczBGSEd1VjdkUkpvNmFTSTNNTG5zZkdVTnhhZnJGa1AzViIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0zOWZlNTYzZTk0NWNiYjgzMWZjNjJlOGQ4YzAzMzRiMCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0yYzg2YTE1ZDUyODVkZjY2ZmNiY2E5YjUzM2Q4ODM4OQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="00e4d49e-031b-4208-89fc-c34cee73e06e" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ad6a09dd-d1a6-4d3e-94b6-c82d9eeb1fda" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjNuT2VFeUM4OHJlRkg2V2FWVVBaSlZWRUVoSzlMRnkxcmdUUzNCZjEiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9IjNuT2VFeUM4OHJlRkg2V2FWVVBaSlZWRUVoSzlMRnkxcmdUUzNCZjEiLG5jPTAwMDAwMDAxLGNub25jZT0iaHJWd0dhUWlSYTVpbG15ZHVpMTFRZTdxOTI1RUVxYkdKNG05cEhUTiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wYTQ5YTc4Y2M0ZjA0NDQ4MmFlM2FmMWRjNDdlZjcyZixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1jNjQwZjM0N2VjNGQ2Yzg4NGM1ZGMzNmIyODk5NTU2NQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ad6a09dd-d1a6-4d3e-94b6-c82d9eeb1fda" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="af7f531d-837a-490d-933f-e3a363b3d720" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImN3TDVESzRNYzh2QTRxRWJoalkwcnJ5VEd5d0V1T1Z4NlRMTWRQQlAiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9ImN3TDVESzRNYzh2QTRxRWJoalkwcnJ5VEd5d0V1T1Z4NlRMTWRQQlAiLG5jPTAwMDAwMDAxLGNub25jZT0iSXdibitRSjYzY1Y1citxVEh0WnppalFwWWRhYzhKUlR1d2g3L20xLyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hY2FmNWFkMjAwMmRkMGEwODliYTMxMzI3NWVhMGIzOCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0yMWEzODY0NTM4MTdhNzU2NjU1YTExZGZlMjcyYjZmZQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="af7f531d-837a-490d-933f-e3a363b3d720" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="79c297b9-57de-42c4-af5d-5142d7c0ecb2" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InpzVGR0VDRzcGxOalRTYmVNYTV0ejhjRk5xTkZWa0JqMGVSS0ZqM1IiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9InpzVGR0VDRzcGxOalRTYmVNYTV0ejhjRk5xTkZWa0JqMGVSS0ZqM1IiLG5jPTAwMDAwMDAxLGNub25jZT0iOFNBT2lYNVBGdUhvZUJqUmZZNndTN1JwTFc0T2IwQ24wRnZFMk1NTCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1iOTk0ZWY4ZGYxZjRkOTlhNjRmMmUxZDdkODc3ODk2OCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1jNDUzOWQ3MDJhNWVlYmE0YTFmYWI1YTNhZmQxMjFhOA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="79c297b9-57de-42c4-af5d-5142d7c0ecb2" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ae284f8c-41dd-47e2-8b44-ca503ea846e3" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IkloUlRwY2ZQaU0waEJPM0tRMVkxeWlBWXY3VWFxdTFiOWJZZGFRdW0iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9IkloUlRwY2ZQaU0waEJPM0tRMVkxeWlBWXY3VWFxdTFiOWJZZGFRdW0iLG5jPTAwMDAwMDAxLGNub25jZT0idWhmaW5rdmEwQ1NRaWVMZ0YvQ2owRHc3OHNvR0YweHJxNEVaMnp3byIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04YjA5NjZjMGY2Y2UzYjdiNmQ3NTQzNjE5YTE3ZmE3NSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD01MjI5NjQzZWI4ZjVhODAyMmZjNmJmYTM5OTQyNmRkYg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ae284f8c-41dd-47e2-8b44-ca503ea846e3" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="9b2d12d7-47d3-490e-8d96-70be3f1dfa42" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjIrbG14Y2s1bmFNYld3UXU1cW5IUWRhRzhoazVUY2lNOVYxWklETVEiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9IjIrbG14Y2s1bmFNYld3UXU1cW5IUWRhRzhoazVUY2lNOVYxWklETVEiLG5jPTAwMDAwMDAxLGNub25jZT0iSEdDckJobElTbndZWjZlWVR1QlJ4dlRoRGp5YTdzWUlXMHYrR1hMMCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0xYWY2ZjI5MWM2MTg3ZjlhNGU1NjJjMDAzYmZkZmRlMSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1hY2UzMzAxMTkxODZlYTJmNjFjOGYxZjNmZDBiNmQyNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="9b2d12d7-47d3-490e-8d96-70be3f1dfa42" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="5f388aad-83ed-40fc-87a1-0d6cc864eadd" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IkwxK05CVjcvZWdTang4TFZaWThwR0xsQVNCMjZIVEpKdFp2ZkI0N2oiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9IkwxK05CVjcvZWdTang4TFZaWThwR0xsQVNCMjZIVEpKdFp2ZkI0N2oiLG5jPTAwMDAwMDAxLGNub25jZT0iS3ZXY2FGUG1DdndDUFowd2tFMHhzbUdFOEo0WS81MlRLT2d2VnlxaSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1kNjM3YmI4YTY1M2ExMTRhOTk5ZWIwZGQzZjBhNjFiZixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1iN2UyMmIyNWFkNDc5MWYwMzdlNmJmNGYwZDNkNWI0Mw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="5f388aad-83ed-40fc-87a1-0d6cc864eadd" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="fd236e0b-4587-4de9-a595-e63027635df2" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IldVYVkwM2o0UDVLaUdSYnBNZzFvZ1dRb3hvMjRZcStxaHhNSXp0aTgiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9IldVYVkwM2o0UDVLaUdSYnBNZzFvZ1dRb3hvMjRZcStxaHhNSXp0aTgiLG5jPTAwMDAwMDAxLGNub25jZT0iQm95amsxTHFQWU1SVHYxUkdpY29hcnRtQnhQTllieGcyRlNTYnl5eCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0zNDhhZWU3NWFmMGRmNzcxNzg1MjZiYTIyMGVkNzI1Nyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kOGU3OTM5NzRhMGMxYjI4MjlhNmVkNDQ0MGQ4YWM2MQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="fd236e0b-4587-4de9-a595-e63027635df2" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="5815aa32-22c6-47d1-a704-cdf3e71fda3f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjRmbXE0ZmltRGVtc1RGYlBPaVN4L1lWOVVyRkRja3RMZVNRb2hCcWoiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9IjRmbXE0ZmltRGVtc1RGYlBPaVN4L1lWOVVyRkRja3RMZVNRb2hCcWoiLG5jPTAwMDAwMDAxLGNub25jZT0iaEs4cUFhdzYybmN3WnBVcWJ2NnFwbmJVaGlnVFpKR1NMVCtzMHZTOCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04OWU4ZjExMmUzOWEwMmNlMTA5NWNmYTM2ODlhMzY1Zixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD05YTcyNmIyMmFjODAwMmJkNzlkMzRkMzE3YmIzYWFlZA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="5815aa32-22c6-47d1-a704-cdf3e71fda3f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="852c6489-15dc-4b71-baec-740382e60886" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlNzR0RwS2t2ZFNFeXYwZjI0Wmc0bTZwdG1JRVNSZXQzcng1R2VNdmciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9IlNzR0RwS2t2ZFNFeXYwZjI0Wmc0bTZwdG1JRVNSZXQzcng1R2VNdmciLG5jPTAwMDAwMDAxLGNub25jZT0iTFFVQWNUYm9scmNIVGFIaFJNZWpoQXNvcmxadjI0WG1ONkVwd0NBaSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1jZmUxZTZkNmM5Y2RiZWM3MmE4ZjM1NjhhMDEzNDlhYSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD00Y2Y4NDczNzdiYjUyMDk2OGVjNjM5ZmIzODgxMTU3ZQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="852c6489-15dc-4b71-baec-740382e60886" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="b98e8697-22b5-48cc-be45-7cd4ac3b20c9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjdaSE5iUGdYWUY3OWU5WUhSSlc5OXZGQlJqRnRwbyt0cng0cCtYaVMiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9IjdaSE5iUGdYWUY3OWU5WUhSSlc5OXZGQlJqRnRwbyt0cng0cCtYaVMiLG5jPTAwMDAwMDAxLGNub25jZT0iZEJNUEpHQ2NiOWIwR1dTRVJJSXJPL2p5VmVydVIzdzdiUFNNaGxTZiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wZGJhNWM5YmM3Y2Q5MGQ4OTM2NGJhMjFkODJhNTE2Nyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1iZjJiNjA4YzI1MjQwYWQ5ZWMyMDg0ZjMxNTBiZjk3NA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="b98e8697-22b5-48cc-be45-7cd4ac3b20c9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="c90a14e8-6dd3-4bce-8a97-52567d663c12" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InNxUmd0RFZwQU5zdG9kSmlQZWhDeFVSd1JNT3RndGxDQktxOEpodksiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9InNxUmd0RFZwQU5zdG9kSmlQZWhDeFVSd1JNT3RndGxDQktxOEpodksiLG5jPTAwMDAwMDAxLGNub25jZT0ieEgrdDRmSDFJbzhhaGFIbCtvcFk3dEgwdkZQRG1ucWJjZ1Z3WVVpTyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mYTY4YWNiNTIxNThhNmI3ODUyNDQ1NjYzMDlkOTI5ZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1mMGFhNzhiOGVjZjI3ZGRlZmIwN2MwMmZkZmNhZjZmOQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="c90a14e8-6dd3-4bce-8a97-52567d663c12" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="64f5a077-353b-4406-bd19-3e638a5806c9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ims4Q2RiWXhJdmNoVktlMWVGWExHY3VzM1A1Yjlsc2EyeWFqdytFbDQiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9Ims4Q2RiWXhJdmNoVktlMWVGWExHY3VzM1A1Yjlsc2EyeWFqdytFbDQiLG5jPTAwMDAwMDAxLGNub25jZT0ic2Q4bWoyT1M1dGVPYkcxQmtySi9GV3JHYVRmbDMvRk1wWVZ1YlhsNyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1iNWYxYzZiOTA1OGFiMWZkZWFkNWU2OGI3ZDU4YWYxZixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD04OGIyZDc5MWQ4ZTkwYjk5NWQwOTBhZjNhN2FlY2VjZQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="64f5a077-353b-4406-bd19-3e638a5806c9" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="0f55605c-0a80-417f-b5c7-342fc84606f3" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IldWU0dJYnpFYlp4K3BsdnA3anpJeWZvTTVmbThzQTRsSFF0MFdLU00iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9IldWU0dJYnpFYlp4K3BsdnA3anpJeWZvTTVmbThzQTRsSFF0MFdLU00iLG5jPTAwMDAwMDAxLGNub25jZT0iUDFQVnVYWDUwS1ZnSlNNeUo3Z1RYc2hJWTJnSnpHVHVpQkRtNzFsViIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wYTRlMzgzMTI4ZmZjNTliNGM1YjVhMWZhYjg2ZDk0ZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1jNDc4MjE2MWUxYjhiMmExNTk3MmY1ZmIyN2EwOGVhNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="0f55605c-0a80-417f-b5c7-342fc84606f3" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="8ea5f2f2-c4d0-4853-abe0-4b9c5484057b" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InpnaTdDWFEyYTdXQVZqam1mTm9hMW5wR3RHd2dMV1FaUExuU1NjelAiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9InpnaTdDWFEyYTdXQVZqam1mTm9hMW5wR3RHd2dMV1FaUExuU1NjelAiLG5jPTAwMDAwMDAxLGNub25jZT0iclVnZ29ZK1g2cmpNMDRQVWgyRnpUZ3hQUUtiL2xyNUFKa1lHQ1pacCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wNjAyYmZlNzIwZmFkM2VlZmFkZjJiZDE5NGQzZGJlYixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD04N2IzOWJhZjcyNzY1ZmZlMmM0OTg5MTlhY2RmNzUyNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="8ea5f2f2-c4d0-4853-abe0-4b9c5484057b" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="860bd795-b699-4b22-a62a-a47cb715854a" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InpmTmRwb09QN2NjWUdCYUdhOEQzaGtRdVEvQUV5NDlnSGNiUnRsYzkiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9InpmTmRwb09QN2NjWUdCYUdhOEQzaGtRdVEvQUV5NDlnSGNiUnRsYzkiLG5jPTAwMDAwMDAxLGNub25jZT0ibFV3Z0dSZ0loWTA4RTBKZFZINENGR3FDNE91blNabENBUzMwZERGdCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT00MDRlNGUyNzc3MjQwYjA0YzMxN2NlYmIxOTgxNTNlNCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1lYTNjYTVlZDRmMWJjYzY5NDljZDRkYjYxZjIyNWQzYQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="860bd795-b699-4b22-a62a-a47cb715854a" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_6" type="result"/>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="f3540a5a-cd2e-4827-96a4-5cb20119758e" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IkZBYUdhM3B1eUNaczNNVmhMZ2w0TXo4bGlEM3hyOW01RDlCbklDeVUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9IkZBYUdhM3B1eUNaczNNVmhMZ2w0TXo4bGlEM3hyOW01RDlCbklDeVUiLG5jPTAwMDAwMDAxLGNub25jZT0iUDVhS09Iekx4TmVseXpsdmNaMDlzaFBnVE5BV2tJRHY1Z3dJQ3EwQiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT03YmVlMTUyMjc4ZThiZGU3ZjY5MTQ3Yjg5N2QyMDQ1Myxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0wNGZiNWU1NGY3YTBkOGEwMzk3YjI3NzgyZmE2MzFhNw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="f3540a5a-cd2e-4827-96a4-5cb20119758e" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="d6bc73f0-c3cb-4307-9566-f73910c38efa" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImlsN1VERzFtSEVQdWJrckJ6dlVyaU4xcXNBZ3RJdTRPb0RmMFE5N3IiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9ImlsN1VERzFtSEVQdWJrckJ6dlVyaU4xcXNBZ3RJdTRPb0RmMFE5N3IiLG5jPTAwMDAwMDAxLGNub25jZT0iOSt4Q2YwUXVZTk5sQTBSMDBUMzY3NWFvRkQvK1NvQzEyKzFJa0VkeCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT02NDdhOGEyNDY2OTBkMWQwYzE2MjE1YWYxYWVjMWMxNixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD05NjExOWM0OWI1YmJhYTAwNmZhY2M2MTE4NTRjYmNkNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="d6bc73f0-c3cb-4307-9566-f73910c38efa" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ceb27d99-0eff-486b-bf74-f80b170f43ee" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlA5UERjbXU1UnVJZEdGS3JKVWdSLzRRZGxiNEVZSXMzTGo5aGxVT0MiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9IlA5UERjbXU1UnVJZEdGS3JKVWdSLzRRZGxiNEVZSXMzTGo5aGxVT0MiLG5jPTAwMDAwMDAxLGNub25jZT0iUkZIYVk5YmZpN0lJbFcvZmFBNTZ2NzV1UnVQL1FVVDI4NnEzYWtpUSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT02NTM5NzQ1MjNmMTliOWU1NmNiZjMxMTI1YTU4ZmYwOSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD01NTA4YTYyNzY3ZTVmY2QxNDM4YTcwMTZjNGEwNmJiNQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="ceb27d99-0eff-486b-bf74-f80b170f43ee" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="42390f06-407a-4359-9263-aad6d3b9901f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlN1ZlBVazRYdzZEN3pYY0w0ODJBdzFwT3p5NkI3K05ZZ2hpREJnbXoiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9IlN1ZlBVazRYdzZEN3pYY0w0ODJBdzFwT3p5NkI3K05ZZ2hpREJnbXoiLG5jPTAwMDAwMDAxLGNub25jZT0iZkl5OStaT3JlZ2xWUUlhZGttRTV5SlEyc1FSNUlVT3VzZktURGorRSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04MzFiMGFmMjQyMGI0ZTUyZDRhZjYzYjBhYjBlYmZhMyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xYzJkNGVjOGM3NDVmMjlhODBkZmY2Njc5OWNiZjNlYQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="42390f06-407a-4359-9263-aad6d3b9901f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="36554c1f-b143-4155-8cb2-10d4b333352f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImUvR3FwNDBRYmVCNk8yanJHVS9YZUtZcWo2N2pZRUR6UVdpZklVSXciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9ImUvR3FwNDBRYmVCNk8yanJHVS9YZUtZcWo2N2pZRUR6UVdpZklVSXciLG5jPTAwMDAwMDAxLGNub25jZT0icW1wTHhQVGErVU00UFlwaG5oRThPWXg5aDVmeUpFbmlTdGY5UEp2NyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wYzY1NjE3ODAzM2U1Nzk2ZDgxYjQ1NTBiMjUzYWYwNSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM180Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1mOWI2NWI5ZWNhZjI5Yjg0MzYwNWI3YTg5ZDI1YjgzZA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream id="36554c1f-b143-4155-8cb2-10d4b333352f" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="test-d" xml:lang="en" version="1.0"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq id="roster_1" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq id="roster_2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_2" type="result"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_3" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_3" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_4" type="set"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_4" type="result"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_5" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_5" type="result"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq id="roster_6" type="set"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_6" type="result"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq id="roster_7" type="get"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" id="roster_7" type="result"><query xmlns="jabber:iq:roster"/></iq>
